Automatic date update in version.in
[binutils-gdb.git] / gold / testsuite / thumb_bl_out_of_range.s
blobfa7342d4da62bd7004944869ed349f8055474c8f
1 # thumb_bl_out_of_range.s
2 # Test THUMB/THUMB-2 bl instructions just out of the branch range limits.
3 .syntax unified
5 .section .text.pre,"x"
7 # Add padding so that target is just output of branch range.
8 .space 6
10 .global _backward_target
11 .code 16
12 .thumb_func
13 .type _backword_target, %function
14 _backward_target:
15 bx lr
16 .size _backward_target, .-_backward_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 _backward_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 _forward_target
45 .size _forward_test, .-_forward_test
47 # switch back to ARM mode so that stubs are disassembled correctly.
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 .global _forward_target
60 .code 16
61 .thumb_func
62 .type _forward_target, %function
63 _forward_target:
64 bx lr
65 .size _forward_target, .-_forward_target