1 # thumb_blx_out_of_range.s
2 # Test THUMB/THUMB-2 blx instructions just out of the branch range limits.
7 # Add padding so that target is just output of branch range.
10 .global _forward_target
11 .global _backward_target
12 .type _backword_target, %function
15 .size _backward_target, .-_backward_target
19 # Define _start so that linker does not complain.
23 .type _start, %function
26 .size _start, .-_start
28 .global _backward_test
31 .type _backward_test, %function
34 .size _backward_test, .-_backward_test
40 .type _forward_test, %function
42 # Bit 1 of the BLX target comes from bit 1 of branch base address,
43 # which is BLX instruction's address + 4. We intentionally put this
44 # forward BLX at an address n*4 + 2 so that the branch offset is
48 .size _forward_test, .-_forward_test
51 .section .text.post,"x"
53 # Add padding so that target is just out of branch range.
57 .global _forward_target
58 .type _forward_target, %function
61 .size _forward_target, .-_forward_target