Automatic date update in version.in
[binutils-gdb.git] / gold / testsuite / thumb_bl_out_of_range_local.s
blobf477d62ad9015a20b16a22fac0eb6beffb748256
1 # thumb_bl_out_of_range_local.s
2 # Test THUMB/THUMB-2 bl instructions just out of the branch range limits
3 # and with local branch targets.
4 .syntax unified
6 .section .text.pre,"x"
8 # Add padding so that target is just output of branch range.
9 .space 6
11 .code 16
12 .thumb_func
13 .type .Lbackward_target, %function
14 .Lbackward_target:
15 bx lr
16 .size .Lbackward_target, .-.Lbackward_target
18 .text
19 # Use 256-byte alignment so that we know where the stubs start.
20 .align 8
22 # Define _start so that linker does not complain.
23 .global _start
24 .code 32
25 .align 2
26 .type _start, %function
27 _start:
28 bx lr
29 .size _start, .-_start
31 .global _backward_test
32 .code 16
33 .thumb_func
34 .type _backward_test, %function
35 _backward_test:
36 bl .Lbackward_target
37 .size _backward_test, .-_backward_test
39 .global _forward_test
40 .code 16
41 .thumb_func
42 .type _forward_test, %function
43 _forward_test:
44 bl .Lforward_target
45 .size _forward_test, .-_forward_test
47 # Switch back to ARM mode so that we can see stubs
48 .align 2
49 .code 32
51 # Align stub table for address matching.
52 .align 8
54 .section .text.post,"x"
56 # Add padding so that target is just out of branch range.
57 .space 12
59 .code 16
60 .thumb_func
61 .type .Lforward_target, %function
62 .Lforward_target:
63 bx lr
64 .size .Lforward_target, .-.Lforward_target