1// REQUIRES: arm
2// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o
3// RUN: llvm-readobj -r %t.o | FileCheck %s --check-prefix=RELOC
4// RUN: ld.lld -shared %t.o -o %t2.so --target1-rel
5// RUN: llvm-objdump -t -d %t2.so | FileCheck %s \
6// RUN:   --check-prefix=RELATIVE
7// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s \
8// RUN:   --check-prefix=ABS
9
10// RUN: ld.lld -shared %t.o -o %t2.so --target1-abs --target1-rel
11// RUN: llvm-objdump -t -d %t2.so | FileCheck %s \
12// RUN:   --check-prefix=RELATIVE
13// RUN: not ld.lld -shared %t.o -o /dev/null --target1-rel --target1-abs 2>&1 \
14// RUN:   | FileCheck %s --check-prefix=ABS
15
16// RELOC: Relocations [
17// RELOC:   .rel.text {
18// RELOC:     0x0 R_ARM_TARGET1 patatino 0x0
19// RELOC:   }
20// RELOC: ]
21
22.text
23  .word patatino(target1)
24  patatino:
25        .word 32
26// Force generation of $d.0 as section is not all data
27  nop
28// RELATIVE: SYMBOL TABLE:
29// RELATIVE: 00010154 l       .text           00000000 patatino
30// RELATIVE: Disassembly of section .text:
31// RELATIVE-EMPTY:
32// RELATIVE: <$d.0>:
33// RELATIVE:     10150:       04 00 00 00     .word   0x00000004
34
35// ABS: can't create dynamic relocation R_ARM_TARGET1 against symbol: patatino in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
36// ABS: >>> defined in {{.*}}.o
37// ABS: >>> referenced by {{.*}}.o:(.text+0x0)
38