aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-arm/vxworks1-lib.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-arm/vxworks1-lib.s')
-rw-r--r--ld/testsuite/ld-arm/vxworks1-lib.s36
1 files changed, 36 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/vxworks1-lib.s b/ld/testsuite/ld-arm/vxworks1-lib.s
new file mode 100644
index 0000000..66dfd1e
--- /dev/null
+++ b/ld/testsuite/ld-arm/vxworks1-lib.s
@@ -0,0 +1,36 @@
+ .text
+ .globl foo
+ .type foo, %function
+foo:
+ stmfd sp!, {r9, lr, pc}
+ ldr r9, 1f
+ ldr r9, [r9]
+ ldr r9, [r9, #__GOTT_INDEX__]
+ ldr r0, 1f + 4
+ ldr r1, [r9, r0]
+ add r1, r1, #1
+ str r1, [r9, r0]
+ bl slocal(PLT)
+ bl sglobal(PLT)
+ bl sexternal(PLT)
+ ldmfd sp!, {r9, pc}
+1:
+ .word __GOTT_BASE__
+ .word x(got)
+ .size foo, .-foo
+
+ .type slocal, %function
+slocal:
+ mov pc,lr
+ .size slocal, .-slocal
+
+ .globl sglobal
+ .type sglobal, %function
+sglobal:
+ mov pc,lr
+ .size sglobal, .-sglobal
+
+ .data
+ .4byte slocal
+
+ .comm x,4,4