diff options
Diffstat (limited to 'test/ELF/arm-abs32-dyn.s')
-rw-r--r-- | test/ELF/arm-abs32-dyn.s | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/ELF/arm-abs32-dyn.s b/test/ELF/arm-abs32-dyn.s new file mode 100644 index 000000000000..68183fe6f198 --- /dev/null +++ b/test/ELF/arm-abs32-dyn.s @@ -0,0 +1,32 @@ +// REQUIRES: arm +// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux %s -o %t.o + +// Creates a R_ARM_ABS32 relocation against foo and bar, bar has hidden +// visibility so we expect a R_ARM_RELATIVE + .syntax unified + .globl foo +foo: + .globl bar + .hidden bar +bar: + + .data + .word foo + .word bar + +// RUN: ld.lld -shared -o %t.so %t.o +// RUN: llvm-readobj -symbols -dyn-relocations %t.so | FileCheck %s + +// CHECK: Dynamic Relocations { +// CHECK-NEXT: 0x2004 R_ARM_RELATIVE +// CHECK-NEXT: 0x2000 R_ARM_ABS32 foo 0x0 +// CHECK-NEXT: } + +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: bar +// CHECK-NEXT: Value: 0x1000 + +// CHECK: Symbol { +// CHECK: Name: foo +// CHECK-NEXT: Value: 0x1000 |