[Bug ld/11088] Internal Error in ppc64_elf_gc_sweep_hook
--- Additional Comments From amodra at bigpond dot net dot au 2009-12-16 23:34 --- Found it. The symbol in question is hidden. check_relocs records a need for a plt entry ok, but then we hit code after this comment in elflink.c /* If the symbol already has a dynamic index, but visibility says it should not be visible, turn it into a local symbol. */ So elf_backend_hide_symbol zaps the plt entry. -- http://sourceware.org/bugzilla/show_bug.cgi?id=11088 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/11088] Internal Error in ppc64_elf_gc_sweep_hook
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2009-12-17 00:07 --- Subject: Bug 11088 CVSROOT:/cvs/src Module name:src Changes by: amo...@sourceware.org 2009-12-17 00:07:38 Modified files: bfd: ChangeLog elf64-ppc.c Log message: PR ld/11088 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Don't abort if symbol hiding has nulled out plt.plist. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=srcr1=1.4862r2=1.4863 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf64-ppc.c.diff?cvsroot=srcr1=1.304r2=1.305 -- http://sourceware.org/bugzilla/show_bug.cgi?id=11088 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/11088] Internal Error in ppc64_elf_gc_sweep_hook
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2009-12-17 05:45 --- Subject: Bug 11088 CVSROOT:/cvs/src Module name:src Changes by: amo...@sourceware.org 2009-12-17 05:45:26 Modified files: include/elf: ChangeLog ppc.h bfd: ChangeLog elf32-ppc.c Log message: PR ld/11088 include/elf/ * ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Delete. (R_PPC_RELAX, R_PPC_RELAX_PLT, R_PPC_RELAX_PLTREL24): Define. bfd/ * elf32-ppc.c (update_plt_info): Clear sec here when addend is less than 32768.. (ppc_elf_check_relocs): ..rather than doing so here. Ignore new relax relocs. (ppc_elf_gc_sweep_hook): Don't segfault when symbol hiding has removed plt_entry records. (ppc_elf_tls_setup): Handle PIE calls to __tls_get_addr correctly. (ppc_elf_tls_optimize): Likewise. Also dec __tls_get_addr refcount when optimizing code using new tlsgd and tlsld marker relocs. (ppc_elf_relax_section): Differentiate relaxed PLTREL24 relocs from ADDR24 relocs using plt or glink. Don't clear the addend for R_PPC_RELAX_PLTREL24. (ppc_elf_relocate_section): Correctly handle addends on relaxed PLTREL24 relocs. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/include/elf/ChangeLog.diff?cvsroot=srcr1=1.383r2=1.384 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/include/elf/ppc.h.diff?cvsroot=srcr1=1.26r2=1.27 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=srcr1=1.4863r2=1.4864 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-ppc.c.diff?cvsroot=srcr1=1.272r2=1.273 -- http://sourceware.org/bugzilla/show_bug.cgi?id=11088 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/11088] Internal Error in ppc64_elf_gc_sweep_hook
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2009-12-17 05:46 --- Subject: Bug 11088 CVSROOT:/cvs/src Module name:src Branch: binutils-2_20-branch Changes by: amo...@sourceware.org 2009-12-17 05:46:06 Modified files: include/elf: ChangeLog ppc.h bfd: ChangeLog elf32-ppc.c Log message: PR ld/11088 include/elf/ * ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Delete. (R_PPC_RELAX, R_PPC_RELAX_PLT, R_PPC_RELAX_PLTREL24): Define. bfd/ * elf32-ppc.c (update_plt_info): Clear sec here when addend is less than 32768.. (ppc_elf_check_relocs): ..rather than doing so here. Ignore new relax relocs. (ppc_elf_gc_sweep_hook): Don't segfault when symbol hiding has removed plt_entry records. (ppc_elf_tls_setup): Handle PIE calls to __tls_get_addr correctly. (ppc_elf_tls_optimize): Likewise. Also dec __tls_get_addr refcount when optimizing code using new tlsgd and tlsld marker relocs. (ppc_elf_relax_section): Differentiate relaxed PLTREL24 relocs from ADDR24 relocs using plt or glink. Don't clear the addend for R_PPC_RELAX_PLTREL24. (ppc_elf_relocate_section): Correctly handle addends on relaxed PLTREL24 relocs. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/include/elf/ChangeLog.diff?cvsroot=srconly_with_tag=binutils-2_20-branchr1=1.379.2.1r2=1.379.2.2 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/include/elf/ppc.h.diff?cvsroot=srconly_with_tag=binutils-2_20-branchr1=1.25.4.1r2=1.25.4.2 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=srconly_with_tag=binutils-2_20-branchr1=1.4761.2.34r2=1.4761.2.35 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-ppc.c.diff?cvsroot=srconly_with_tag=binutils-2_20-branchr1=1.267.2.3r2=1.267.2.4 -- http://sourceware.org/bugzilla/show_bug.cgi?id=11088 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/11088] Internal Error in ppc64_elf_gc_sweep_hook
--- Additional Comments From amodra at bigpond dot net dot au 2009-12-14 23:40 --- I'd like to know why we have the failure before you apply your patch, Nick. Especially since there's a similar ppc32 report but no testcase. In looking over the ppc32 code I found a number of problems with handling of pltrel24 relocs but nothing that might cause a failure in gc_sweep_hook. :-( -- http://sourceware.org/bugzilla/show_bug.cgi?id=11088 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils