diff options
author | Alan Modra <amodra@gmail.com> | 2009-09-18 03:30:34 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-09-18 03:30:34 +0000 |
commit | b31867b61af05a84ae1faabfd602ebe69b689cc3 (patch) | |
tree | 093180d0d1d9fac2abc3eac987dd7038b2956fbe /ld | |
parent | 20e6d0d602ee8907dd3b97bc1ffdeb9441a2314a (diff) | |
download | gdb-b31867b61af05a84ae1faabfd602ebe69b689cc3.zip gdb-b31867b61af05a84ae1faabfd602ebe69b689cc3.tar.gz gdb-b31867b61af05a84ae1faabfd602ebe69b689cc3.tar.bz2 |
bfd/
* elf64-ppc.c (follow_link, elf_follow_link, ppc_follow_link): New
functions. Use throughout.
(ppc64_elf_copy_indirect_symbol): Set direct symbol "oh" field
from indirect symbol.
(lookup_fdh): Rename from get_fdh. Follow indirect sym links.
(add_symbol_adjust): Simplify.
(defined_code_entry, defined_func_desc): New functions.
(ppc64_elf_gc_keep): Follow indirect sym links. Use defined_code_entry.
(ppc64_elf_gc_mark_dynamic_ref): Use defined_func_desc and
defined_code_entry to follow indirect sym links.
(ppc64_elf_gc_mark_hook, func_desc_adjust): Likewise.
(ppc_type_of_stub): Follow indirect sym links.
(toc_adjusting_stub_needed): Likewise.
(ppc_build_one_stub): Likewise. Make undefined dot-symbols weak
rather than defining them at stub.
(ppc64_elf_relocate_section): Rewrite call test to avoid multiple
assignments in test.
ld/testsuite/
* ld-powerpc/tlsso.d: Update.
* ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlstocso.d: Update.
* ld-powerpc/tlstocso.r: Update.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/tlsso.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/tlsso.r | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/tlstocso.d | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/tlstocso.r | 2 |
5 files changed, 21 insertions, 14 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 9a0333d..e19919a 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-09-18 Alan Modra <amodra@bigpond.net.au> + + * ld-powerpc/tlsso.d: Update. + * ld-powerpc/tlsso.r: Update. + * ld-powerpc/tlstocso.d: Update. + * ld-powerpc/tlstocso.r: Update. + 2009-09-15 Kaz Kojima <kkojima@rr.iij4u.or.jp> * ld-elfcomm/elfcomm.exp: Add appropriate emulation option diff --git a/ld/testsuite/ld-powerpc/tlsso.d b/ld/testsuite/ld-powerpc/tlsso.d index b1149ae..194e8cb 100644 --- a/ld/testsuite/ld-powerpc/tlsso.d +++ b/ld/testsuite/ld-powerpc/tlsso.d @@ -8,7 +8,7 @@ Disassembly of section \.text: -.* <\.__tls_get_addr>: +.*: .* f8 41 00 28 std r2,40\(r1\) .* e9 62 80 78 ld r11,-32648\(r2\) .* 7d 69 03 a6 mtctr r11 @@ -18,16 +18,16 @@ Disassembly of section \.text: .* <_start>: .* 38 62 80 20 addi r3,r2,-32736 -.* 4b ff ff e5 bl .* <\.__tls_get_addr> +.* 4b ff ff e5 bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 38 62 80 50 addi r3,r2,-32688 -.* 4b ff ff d9 bl .* <\.__tls_get_addr> +.* 4b ff ff d9 bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 38 62 80 38 addi r3,r2,-32712 -.* 4b ff ff cd bl .* <\.__tls_get_addr> +.* 4b ff ff cd bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 38 62 80 50 addi r3,r2,-32688 -.* 4b ff ff c1 bl .* <\.__tls_get_addr> +.* 4b ff ff c1 bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 39 23 80 40 addi r9,r3,-32704 .* 3d 23 00 00 addis r9,r3,0 @@ -40,10 +40,10 @@ Disassembly of section \.text: .* 3d 2d 00 00 addis r9,r13,0 .* 99 49 00 00 stb r10,0\(r9\) .* 38 62 80 08 addi r3,r2,-32760 -.* 4b ff ff 8d bl .* <\.__tls_get_addr> +.* 4b ff ff 8d bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 38 62 80 50 addi r3,r2,-32688 -.* 4b ff ff 81 bl .* <\.__tls_get_addr> +.* 4b ff ff 81 bl .* .* e8 41 00 28 ld r2,40\(r1\) .* f9 43 80 08 std r10,-32760\(r3\) .* 3d 23 00 00 addis r9,r3,0 diff --git a/ld/testsuite/ld-powerpc/tlsso.r b/ld/testsuite/ld-powerpc/tlsso.r index 7b2ee14..4693c28 100644 --- a/ld/testsuite/ld-powerpc/tlsso.r +++ b/ld/testsuite/ld-powerpc/tlsso.r @@ -110,7 +110,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 le4 .* TLS +LOCAL +DEFAULT +7 le5 .* OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC -.* NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr +.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* TLS +GLOBAL DEFAULT +UND gd .* TLS +GLOBAL DEFAULT +8 le0 .* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr diff --git a/ld/testsuite/ld-powerpc/tlstocso.d b/ld/testsuite/ld-powerpc/tlstocso.d index deaf2a7..ce8fe51 100644 --- a/ld/testsuite/ld-powerpc/tlstocso.d +++ b/ld/testsuite/ld-powerpc/tlstocso.d @@ -8,7 +8,7 @@ Disassembly of section \.text: -.* <\.__tls_get_addr>: +.*: .* f8 41 00 28 std r2,40\(r1\) .* e9 62 80 70 ld r11,-32656\(r2\) .* 7d 69 03 a6 mtctr r11 @@ -18,16 +18,16 @@ Disassembly of section \.text: .* <_start>: .* 38 62 80 08 addi r3,r2,-32760 -.* 4b ff ff e5 bl .* <\.__tls_get_addr> +.* 4b ff ff e5 bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 38 62 80 18 addi r3,r2,-32744 -.* 4b ff ff d9 bl .* <\.__tls_get_addr> +.* 4b ff ff d9 bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 38 62 80 28 addi r3,r2,-32728 -.* 4b ff ff cd bl .* <\.__tls_get_addr> +.* 4b ff ff cd bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 38 62 80 38 addi r3,r2,-32712 -.* 4b ff ff c1 bl .* <\.__tls_get_addr> +.* 4b ff ff c1 bl .* .* e8 41 00 28 ld r2,40\(r1\) .* 39 23 80 40 addi r9,r3,-32704 .* 3d 23 00 00 addis r9,r3,0 diff --git a/ld/testsuite/ld-powerpc/tlstocso.r b/ld/testsuite/ld-powerpc/tlstocso.r index 9c9e01c..b557767 100644 --- a/ld/testsuite/ld-powerpc/tlstocso.r +++ b/ld/testsuite/ld-powerpc/tlstocso.r @@ -106,7 +106,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 le5 .* NOTYPE +LOCAL +DEFAULT +11 \.Lie0 .* OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC -.* NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr +.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* TLS +GLOBAL DEFAULT +UND gd .* TLS +GLOBAL DEFAULT +8 le0 .* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr |