// REQUIRES: arm
// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o
// RUN: ld.lld %t.o -o %t
// RUN: llvm-readobj -S %t | FileCheck %s
// RUN: llvm-readobj -S --symbols %t | FileCheck -check-prefix=SYMBOLS %s
// RUN: llvm-objdump -d --no-show-raw-insn --triple=armv7a-none-linux-gnueabi %t | FileCheck --check-prefix=CODE %s

// Test the R_ARM_GOT_PREL relocation
 .syntax unified
 .text
 .globl _start
 .align 2
_start:
 ldr     r0, .LCPI0_0
.LPC0_0:
 ldr     r0, [pc, r0]
 ldr     r0, [r0]
 bx      lr
.LCPI0_0:
.Ltmp0:
 // Generate R_ARM_GOT_PREL
 .long   val(GOT_PREL)-((.LPC0_0+8)-.Ltmp0)

 .data
 .type   val,%object
 .globl  val
 .align  2
val:
 .long   10
 .size   val, 4

// CHECK: Section {
// CHECK:    Name: .got
// CHECK-NEXT:    Type: SHT_PROGBITS
// CHECK-NEXT:      Flags [
// CHECK-NEXT:      SHF_ALLOC
// CHECK-NEXT:      SHF_WRITE
// CHECK-NEXT:    ]
// CHECK-NEXT:    Address: 0x30128
// CHECK-NEXT:    Offset:
// CHECK-NEXT:    Size: 4
// CHECK-NEXT:    Link:
// CHECK-NEXT:    Info:
// CHECK-NEXT:    AddressAlignment: 4
// CHECK-NEXT:    EntrySize:

// SYMBOLS:    Name: val
// SYMBOLS-NEXT:    Value: 0x4012C
// SYMBOLS-NEXT:    Size: 4
// SYMBOLS-NEXT:    Binding: Global
// SYMBOLS-NEXT:    Type: Object
// SYMBOLS-NEXT:    Other:
// SYMBOLS-NEXT:    Section: .data

// CODE: Disassembly of section .text:
// CODE-EMPTY:
// CODE-NEXT: <_start>:
// CODE-NEXT:   20114:       ldr     r0, [pc, #8]
// CODE-NEXT:   20118:       ldr     r0, [pc, r0]
// CODE-NEXT:   2011c:       ldr     r0, [r0]
// CODE-NEXT:   20120:       bx      lr
// CODE: <$d.1>:
// 0x11124 + 0x1008 + 8 = 0x12128 = .got
// CODE-NEXT:   20124:       08 00 01 00
