aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-powerpc/tocsave2.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-powerpc/tocsave2.s')
-rw-r--r--ld/testsuite/ld-powerpc/tocsave2.s24
1 files changed, 24 insertions, 0 deletions
diff --git a/ld/testsuite/ld-powerpc/tocsave2.s b/ld/testsuite/ld-powerpc/tocsave2.s
new file mode 100644
index 0000000..94683c6
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/tocsave2.s
@@ -0,0 +1,24 @@
+ .abiversion 2
+ .global _start
+ .type _start,@function
+_start:
+ nop
+.L1:
+# Function prologue tocsave.
+ .reloc .,R_PPC64_TOCSAVE,.L1
+ nop
+
+ nop
+# Call with tocsave on nop
+ bl foo
+ .reloc .,R_PPC64_TOCSAVE,.L1
+ nop
+
+ nop
+# A call without tocsave (maybe in a different function, or after alloca
+# dynamic stack allocation loses r2 save in same function).
+ bl foo
+ nop
+
+ blr
+ .size _start, .-_start