1 # arm_bl_in_range.s 2 # Test ARM bl instructions just within branch range limits. 3 .syntax unified 4 .arch armv5te 5 6 .section .text.pre,"x" 7 8 # Add padding so that target is just within branch range. 9 .space 12 10 11 .align 2 12 .global _backward_target 13 _backward_target: 14 bx lr 15 .size _backward_target, .-_backward_target 16 17 .text 18 .align 2 19 20 # Define _start so that linker does not complain. 21 .global _start 22 _start: 23 bx lr 24 .size _start, .-_start 25 26 .global _backward_test 27 _backward_test: 28 bl _backward_target 29 .size _backward_test, .-_backward_test 30 31 .global _forward_test 32 _forward_test: 33 bl _forward_target 34 .size _forward_test, .-_forward_test 35 36 .section .text.post,"x" 37 38 # Add padding so that target is just within of branch range. 39 .space 12 40 41 .align 2 42 .global _forward_target 43 _forward_target: 44 bx lr 45 .size _forward_target, .-_forward_target 46