binutils-gdb/gold/testsuite/arm_bl_in_range.s
Doug Kwan 2a2b6d42b1 2010-02-21 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relocate_functions::arm_branch_common): Fix bug in
	handling of the maximum backward branch offset.
     	(Arm_relocate_functions::thumb_branch_common): Ditto.
	* testsuite/Makefile.am (check_SCRIPTS): Add arm_branch_in_range.sh.
	(check_DATA): Add arm_bl_in_range.stdout, arm_bl_out_of_range.stdout
	thumb_bl_in_range.stdout, thumb_bl_out_of_range.stdout,
	thumb2_bl_in_range.stdout and thumb2_bl_out_of_range.stdout.
	(arm_bl_in_range.stdout, arm_bl_in_range, arm_bl_in_range.o,
	arm_bl_out_of_range.stdout, arm_bl_out_of_range,
	arm_bl_out_of_range.o, thumb_bl_in_range.stdout, thumb_bl_in_range,
	thumb_bl_in_range.o, thumb_bl_out_of_range.stdout,
	thumb_bl_out_of_range thumb_bl_out_of_range.o,
	thumb2_bl_in_range.stdout, thumb2_bl_in_range, thumb2_bl_in_range.o
	thumb2_bl_out_of_range.stdout, thumb2_bl_out_of_range,
	thumb2_bl_out_of_range.o): New rules.
	(MOSTLYCLEANFILES): Add arm_bl_in_range, arm_bl_out_of_range,
	thumb_bl_in_range, thumb_bl_out_of_range, thumb2_bl_in_range and
	thumb2_bl_out_of_range
	* testsuite/Makefile.in: Regenerate.
	* testsuite/arm_bl_in_range.s: New file.
	* testsuite/arm_bl_out_of_range.s: Ditto.
	* testsuite/arm_branch_in_range.sh: Ditto.
	* testsuite/arm_branch_range.t: Ditto.
	* testsuite/thumb2_branch_range.t: Ditto.
	* testsuite/thumb_bl_in_range.s: Ditto.
	* testsuite/thumb_bl_out_of_range.s: Ditto.
	* testsuite/thumb_branch_range.t: Ditto.
2010-02-22 06:26:07 +00:00

46 lines
841 B
ArmAsm

# arm_bl_in_range.s
# Test ARM bl instructions just within branch range limits.
.syntax unified
.arch armv5te
.section .text.pre,"x"
# Add padding so that target is just within branch range.
.space 12
.align 2
.global _backward_target
_backward_target:
bx lr
.size _backward_target, .-_backward_target
.text
.align 2
# 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
.section .text.post,"x"
# Add padding so that target is just within of branch range.
.space 12
.align 2
.global _forward_target
_forward_target:
bx lr
.size _forward_target, .-_forward_target