1 # thumb_bl_in_range.s 2 # Test THUMB/THUMB-2 bl instructions just within the branch range limits. 3 .syntax unified 4 5 .section .text.pre,"x" 6 7 # Add padding so that target is just in branch range. 8 .space 8 9 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 17 18 .text 19 20 # Define _start so that linker does not complain. 21 .global _start 22 .code 32 23 .align 2 24 .type _start, %function 25 _start: 26 bx lr 27 .size _start, .-_start 28 29 .global _backward_test 30 .code 16 31 .thumb_func 32 .type _backward_test, %function 33 _backward_test: 34 bl _backward_target 35 .size _backward_test, .-_backward_test 36 37 .global _forward_test 38 .code 16 39 .thumb_func 40 .type _forward_test, %function 41 _forward_test: 42 bl _forward_target 43 .size _forward_test, .-_forward_test 44 45 .section .text.post,"x" 46 47 # Add padding so that target is just in branch range. 48 .space 10 49 50 .global _forward_target 51 .code 16 52 .thumb_func 53 .type _forward_target, %function 54 _forward_target: 55 bx lr 56 .size _forward_target, .-_forward_target 57