# arm_bl_out_of_range.s # Test ARM bl instructions just out of the branch range limits. .syntax unified .arch armv5te .section .text.pre,"x" # Add padding so that target is just out of branch range. .space 8 .align 2 .global _backward_target _backward_target: bx lr .size _backward_target, .-_backward_target .text # Use 256-byte alignment so that we know where the stubs start. .align 8 # Define _start so that linker does not complain. .global _start _start: bx lr .size _start, .-_start .global _backward_test _backward_test: bl _backward_target .size _backward_test, .-_backward_test .global _forward_test _forward_test: bl _forward_target .size _forward_test, .-_forward_test # Align stub table for address matching .align 8 .section .text.post,"x" # Add padding so that target is just out of branch range. .space 16 .align 2 .global _forward_target _forward_target: bx lr .size _forward_target, .-_forward_target |