aboutsummaryrefslogtreecommitdiff
path: root/gold/testsuite/arm_bl_in_range.s
diff options
context:
space:
mode:
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 0000000..23960f9
--- /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