summaryrefslogtreecommitdiffstats
path: root/binutils-2.21/ld/testsuite/ld-arm/farcall-mixed-lib1.s
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-arm/farcall-mixed-lib1.s')
-rw-r--r--binutils-2.21/ld/testsuite/ld-arm/farcall-mixed-lib1.s34
1 files changed, 34 insertions, 0 deletions
diff --git a/binutils-2.21/ld/testsuite/ld-arm/farcall-mixed-lib1.s b/binutils-2.21/ld/testsuite/ld-arm/farcall-mixed-lib1.s
new file mode 100644
index 0000000..dea26b9
--- /dev/null
+++ b/binutils-2.21/ld/testsuite/ld-arm/farcall-mixed-lib1.s
@@ -0,0 +1,34 @@
+@ Create a large shared library so that calls through PLT to an undef
+@ symbol require insertion of a long branch stub.
+@ Check also calls to an undef weak symbol.
+
+ .text
+
+ .p2align 4
+ .globl lib_func1
+ .type lib_func1, %function
+lib_func1:
+ mov ip, sp
+ stmdb sp!, {r11, ip, lr, pc}
+ bl app_func
+ .weak app_func_weak
+ bl app_func_weak
+ bl lib_func3
+ bl lib_func4
+ ldmia sp, {r11, sp, lr}
+ bx lr
+ .size lib_func1, . - lib_func1
+
+ .space 0x1000000
+ .p2align 4
+ .globl lib_func2
+ .type lib_func2, %function
+ .thumb_func
+ .code 16
+lib_func2:
+ bl app_func
+ bl app_func_weak
+ bl lib_func3
+ bl lib_func4
+ bx lr
+ .size lib_func2, . - lib_func2