summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-powerpc/aix-gc-1.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-powerpc/aix-gc-1.s')
-rw-r--r--ld/testsuite/ld-powerpc/aix-gc-1.s55
1 files changed, 55 insertions, 0 deletions
diff --git a/ld/testsuite/ld-powerpc/aix-gc-1.s b/ld/testsuite/ld-powerpc/aix-gc-1.s
new file mode 100644
index 0000000..821fd5c
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-gc-1.s
@@ -0,0 +1,55 @@
+ .macro loadtoc,sym
+ .if size == 32
+ lwz 1,\sym(2)
+ .else
+ ld 1,\sym(2)
+ .endif
+ .endm
+
+ .toc
+LC01: .tc indirect1[TC],indirect1[RW]
+LC02: .tc block[TC],block[RW]
+
+ .csect .unused_local[PR]
+.unused_local:
+ bl .unused_global
+
+ .globl .init_function
+ .csect .init_function[PR]
+.init_function:
+ loadtoc LC01
+
+ .globl .fini_function
+ .csect .fini_function[PR]
+.fini_function:
+ loadtoc LC02
+
+ .globl .unused_global
+ .csect .unused_global[PR]
+.unused_global:
+ bl .unused_local
+
+ .globl .exported_global
+ .csect .exported_global[PR]
+.exported_global:
+ bl .indirect2
+
+ .globl .indirect1
+ .csect .indirect1[PR]
+.indirect1:
+ lwz 8,4(8)
+
+ .csect .indirect2[PR]
+.indirect2:
+ lwz 8,8(8)
+
+ .globl .indirect3
+ .csect .indirect3[PR]
+.indirect3:
+ lwz 8,12(8)
+
+ .globl block
+ .csect block[RW]
+block:
+ .long indirect3
+ .long 0x11223344