aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-powerpc/aix-gc-1.s
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2009-03-14 09:35:06 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2009-03-14 09:35:06 +0000
commit7d504122ef2032b3e0d6973a4f4f138481c4b5c2 (patch)
treedfa07a68fffdd8cf41538e97576ee2a34f8b7c31 /ld/testsuite/ld-powerpc/aix-gc-1.s
parent8602d4fea60dda606ad5e5e01e27f8f841120e15 (diff)
downloadgdb-7d504122ef2032b3e0d6973a4f4f138481c4b5c2.zip
gdb-7d504122ef2032b3e0d6973a4f4f138481c4b5c2.tar.gz
gdb-7d504122ef2032b3e0d6973a4f4f138481c4b5c2.tar.bz2
bfd/
* xcofflink.c (xcoff_mark_symbol_by_name): New function. (bfd_xcoff_size_dynamic_sections): Use it to mark the entry, init and fini functions. Do garbage collection for objects without an entry point too. ld/testsuite/ * ld-powerpc/aix-gc-1.s, ld-powerpc/aix-gc-1.ex, ld-powerpc/aix-gc-1-32.dd, ld-powerpc/aix-gc-1-64.dd, ld-powerpc/aix-weak-1-gcdso.dnd, ld-powerpc/aix-weak-1-gcdso.hd, ld-powerpc/aix-weak-1-gcdso.nd: New tests. * ld-powerpc/aix52.exp: Run them.
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