diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2009-03-14 09:35:06 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2009-03-14 09:35:06 +0000 |
commit | 7d504122ef2032b3e0d6973a4f4f138481c4b5c2 (patch) | |
tree | dfa07a68fffdd8cf41538e97576ee2a34f8b7c31 /ld/testsuite/ld-powerpc/aix-gc-1.s | |
parent | 8602d4fea60dda606ad5e5e01e27f8f841120e15 (diff) | |
download | gdb-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.s | 55 |
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 |