2 // RUN
: llvm-mc
-filetype
=obj
-triple
=armv7a-linux-gnueabihf
--arm-add-build-attributes
%s
-o
%t.o
3 // RUN
: ld.lld
--fix-cortex-a8
--shared
%t.o
-o
%t2
4 // RUN
: llvm-objdump
-d
--no-show-raw-insn
%t2 | FileCheck
%s
6 /// Test case that for an OutputSection larger than the ThunkSectionSpacing
7 /// --fix-cortex-a8 will cause the size of the ThunkSection to
be rounded up to
11 .section .text.01, "ax", %progbits
14 .type _start, %function
16 /// state change thunk required
20 /// erratum patch needed
24 /// Expect thunk
and patch to
be inserted here
25 // CHECK
: 00012004 <__ThumbV7PILongThunk_arm_func
>:
26 // CHECK-NEXT
: 12004: movw
r12, #4088
27 // CHECK-NEXT
: movt
r12, #256
28 // CHECK-NEXT
: add r12, pc
30 // CHECK
: 00013004 <__CortexA8657417_11FFE
>:
31 // CHECK-NEXT
: 13004: b.w
0x11004 <thumb_target
>
33 /// Take us over thunk section spacing
34 .space 16 * 1024 * 1024
36 .section .text.03, "ax", %progbits
39 .type arm_func, %function