2 // RUN
: llvm-mc
-filetype
=obj
-triple
=armv7a-none-linux
%s
-o
%t.o
4 /// Creates
a R_ARM_ABS32 relocation against foo
and bar
, bar has hidden
5 /// visibility so we expect
a R_ARM_RELATIVE
17 /// In PIC mode
, if R_ARM_TARGET1 represents R_ARM_ABS32
(the default
), an
18 /// R_ARM_TARGET1 to
a non-preemptable symbol also creates an R_ARM_RELATIVE in
19 /// a writable section.
22 // RUN
: ld.lld
-shared
-o
%t.so
%t.o
23 // RUN
: llvm-readobj
--symbols
--dyn-relocations
%t.so | FileCheck
%s
24 // RUN
: llvm-readelf
-x
.data %t.so | FileCheck --check-prefix=HEX %s
26 // CHECK
: Dynamic Relocations
{
27 // CHECK-NEXT
: 0x30204 R_ARM_RELATIVE
28 // CHECK-NEXT
: 0x30208 R_ARM_RELATIVE
29 // CHECK-NEXT
: 0x30200 R_ARM_ABS32 foo
35 // CHECK-NEXT
: Value
: 0x101A8
39 // CHECK-NEXT
: Value
: 0x101A8
41 // HEX
: 0x00030200 00000000 a8010100 a8010100