1# arm_bl_out_of_range.s 2# Test ARM bl instructions just out of the branch range limits. 3 .syntax unified 4 .arch armv5te 5 6 .section .text.pre,"x" 7 8# Add padding so that target is just out of branch range. 9 .space 8 10 11 .align 2 12 .global _backward_target 13_backward_target: 14 bx lr 15 .size _backward_target, .-_backward_target 16 17 .text 18# Use 256-byte alignment so that we know where the stubs start. 19 .align 8 20 21# Define _start so that linker does not complain. 22 .global _start 23_start: 24 bx lr 25 .size _start, .-_start 26 27 .global _backward_test 28_backward_test: 29 bl _backward_target 30 .size _backward_test, .-_backward_test 31 32 .global _forward_test 33_forward_test: 34 bl _forward_target 35 .size _forward_test, .-_forward_test 36 37# Align stub table for address matching 38 .align 8 39 40 .section .text.post,"x" 41 42# Add padding so that target is just out of branch range. 43 .space 16 44 45 .align 2 46 .global _forward_target 47_forward_target: 48 bx lr 49 .size _forward_target, .-_forward_target 50