1 // RUN
: llvm-mc
-triple
=armv7-linux-gnueabi \
2 // RUN
: -mcpu
=cortex-a8
-mattr
=-neon
-mattr
=+vfp2 \
3 // RUN
: -filetype
=obj
%s
-o
- | \
4 // RUN
: llvm-readobj
-r | FileCheck
-check-prefix
=OBJ
%s
6 // Ensure no regression on ARM
/gcc compatibility for
7 // emitting explicit symbol relocs for nonexternal symbols
8 // versus section symbol relocs
(with offset
) -
10 // Default llvm behavior is to emit as section symbol relocs nearly
11 // everything that is
not an undefined external. Unfortunately
, this
12 // diverges from what codesourcery ARM
/gcc does
!
14 // Tests that reloc to _MergedGlobals show up as explicit symbol reloc
16 movw
r2, :lower16
:_MergedGlobals
23 // OBJ
: Section
{{.*}} .rel.text {
24 // OBJ
: 0x
{{[0-9,A-F
]+}} R_ARM_MOVW_ABS_NC _MergedGlobals