summaryrefslogtreecommitdiffstats
path: root/binutils-2.24/gold/testsuite/arm_bl_out_of_range.s
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2014-03-26 11:03:35 -0700
committerBen Cheng <bccheng@google.com>2014-03-26 11:03:35 -0700
commit09797ba54abf3683ea66eedddf6afbe7653f9cb9 (patch)
tree8030b2ed79c7463c89d6da294782e9d503c84f50 /binutils-2.24/gold/testsuite/arm_bl_out_of_range.s
parent5a2caf34e4995860baf405552163df288000b7bf (diff)
downloadtoolchain_binutils-09797ba54abf3683ea66eedddf6afbe7653f9cb9.tar.gz
toolchain_binutils-09797ba54abf3683ea66eedddf6afbe7653f9cb9.tar.bz2
toolchain_binutils-09797ba54abf3683ea66eedddf6afbe7653f9cb9.zip
Initial checkin of binutils 2.24.
Change-Id: I0dfcbae6608dded6c3586bf5f4ac27e9612e70a2
Diffstat (limited to 'binutils-2.24/gold/testsuite/arm_bl_out_of_range.s')
-rw-r--r--binutils-2.24/gold/testsuite/arm_bl_out_of_range.s46
1 files changed, 46 insertions, 0 deletions
diff --git a/binutils-2.24/gold/testsuite/arm_bl_out_of_range.s b/binutils-2.24/gold/testsuite/arm_bl_out_of_range.s
new file mode 100644
index 00000000..cb5ff535
--- /dev/null
+++ b/binutils-2.24/gold/testsuite/arm_bl_out_of_range.s
@@ -0,0 +1,46 @@
+# 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
+
+ .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