summaryrefslogtreecommitdiffstats
path: root/gold/testsuite/arm_bl_in_range.s
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2010-02-22 06:26:07 +0000
committerDoug Kwan <dougkwan@google.com>2010-02-22 06:26:07 +0000
commit2a2b6d42b1a946cfaff8819925cdd15bee44d015 (patch)
treec434f4f73a93b26045882f05cb1b75f5e468f578 /gold/testsuite/arm_bl_in_range.s
parent109af718c00cca36ea5c141464bfb51fbac068ce (diff)
downloadppe42-binutils-2a2b6d42b1a946cfaff8819925cdd15bee44d015.tar.gz
ppe42-binutils-2a2b6d42b1a946cfaff8819925cdd15bee44d015.zip
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.
Diffstat (limited to 'gold/testsuite/arm_bl_in_range.s')
-rw-r--r--gold/testsuite/arm_bl_in_range.s45
1 files changed, 45 insertions, 0 deletions
diff --git a/gold/testsuite/arm_bl_in_range.s b/gold/testsuite/arm_bl_in_range.s
new file mode 100644
index 0000000000..23960f9ab9
--- /dev/null
+++ b/gold/testsuite/arm_bl_in_range.s
@@ -0,0 +1,45 @@
+# 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
OpenPOWER on IntegriCloud