aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ld-arm/callweak.d17
-rw-r--r--ld/testsuite/ld-arm/callweak.s16
2 files changed, 33 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/callweak.d b/ld/testsuite/ld-arm/callweak.d
new file mode 100644
index 0000000..3dffcc4
--- /dev/null
+++ b/ld/testsuite/ld-arm/callweak.d
@@ -0,0 +1,17 @@
+
+.*: file format.*
+
+Disassembly of section .far:
+
+12340000 <[^>]*>:
+12340000: eaffffff b 12340004 <[^>]*>
+12340004: 0affffff beq 12340008 <[^>]*>
+
+12340008 <[^>]*>:
+12340008: e000 b.n 1234000c <[^>]*>
+1234000a: bf00 nop
+1234000c: 2000 movs r0, #0
+1234000e: e000 b.n 12340012 <[^>]*>
+12340010: bf00 nop
+12340012: 4770 bx lr
+
diff --git a/ld/testsuite/ld-arm/callweak.s b/ld/testsuite/ld-arm/callweak.s
new file mode 100644
index 0000000..6850da3
--- /dev/null
+++ b/ld/testsuite/ld-arm/callweak.s
@@ -0,0 +1,16 @@
+ .syntax unified
+ .weak bar
+ .section .far, "ax", %progbits
+ .global _start
+ .type _start, %function
+_start:
+ bl bar
+ bleq bar
+ .thumb
+ .type foo, %function
+ .thumb_func
+foo:
+ bl bar
+ movs r0, #0
+ bl bar
+ bx lr