Summary: | <sys-devel/binutils-2.20-r1 crashes on PowerPC while linking =x11-libs/qt-webkit-4.6* | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andrew John Hughes <gnu_andrew> |
Component: | [OLD] Library | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | VERIFIED FIXED | ||
Severity: | normal | CC: | bluescarni, burcheri.massimo+bugs-gentoo, chrschmitt, lauranger, limanski, panard, ppc64, ppc, qt |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | PPC64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 297299 | ||
Attachments: |
Build log
ld command executed that segfaults |
Description
Andrew John Hughes
2010-01-28 22:51:31 UTC
Please attach full build.log. Created attachment 217777 [details]
Build log
Managed to get a backtrace: #0 ppc_elf_gc_sweep_hook (abfd=<value optimized out>, info=0x10382570, sec=0x1050acd8, relocs=0x105110f8) at /var/tmp/portage/sys-devel/binutils-2.20/work/binutils-2.20/bfd/elf32-ppc.c:4537 #1 0x0fb35894 in bfd_elf_gc_sections (abfd=0x103a40c0, info=0x10382570) at /var/tmp/portage/sys-devel/binutils-2.20/work/binutils-2.20/bfd/elflink.c:11528 #2 0x10019474 in ?? () #3 0x1001e9b4 in ?? () #4 0x0f8626fc in generic_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, auxvec=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=<value optimized out>) at ../csu/libc-start.c:220 #5 0x0f8628a0 in __libc_start_main (argc=<value optimized out>, ubp_av=<value optimized out>, ubp_ev=<value optimized out>, auxvec=<value optimized out>, rtld_fini=<value optimized out>, stinfo=<value optimized out>, stack_on_entry=<value optimized out>) at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:92 #6 0x00000000 in ?? () Created attachment 217778 [details]
ld command executed that segfaults
With installsources: ppc_elf_gc_sweep_hook (abfd=<value optimized out>, info=0x10380578, sec=0x10508cd8, relocs=0x1050f0f8) at /usr/src/debug/sys-devel/binutils-2.20/binutils-2.20/bfd/elf32-ppc.c:4537 4537 if (ent->plt.refcount > 0) (gdb) bt #0 ppc_elf_gc_sweep_hook (abfd=<value optimized out>, info=0x10380578, sec=0x10508cd8, relocs=0x1050f0f8) at /usr/src/debug/sys-devel/binutils-2.20/binutils-2.20/bfd/elf32-ppc.c:4537 #1 0x0fb35904 in bfd_elf_gc_sections (abfd=0x103a20c0, info=0x10380578) at /usr/src/debug/sys-devel/binutils-2.20/binutils-2.20/bfd/elflink.c:11528 #2 0x10018524 in ?? () #3 0x1001da64 in ?? () #4 0x0f8626fc in generic_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, auxvec=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=<value optimized out>) at ../csu/libc-start.c:220 #5 0x0f8628a0 in __libc_start_main (argc=<value optimized out>, ubp_av=<value optimized out>, ubp_ev=<value optimized out>, auxvec=<value optimized out>, rtld_fini=<value optimized out>, stinfo=<value optimized out>, stack_on_entry=<value optimized out>) at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:92 #6 0x00000000 in ?? () So looks like it hits a NULL ent. Yep... (gdb) print ent $1 = (struct plt_entry *) 0x0 ent = find_plt_ent (ifunc, got2, addend); if (ent->plt.refcount > 0) ent->plt.refcount -= 1; does not check for the returned ent being null. Looks like a binutils bug, Cc'ing toolchain for advice. Note that this does not happen with webkit-gtk, only the Qt version. Can confirm this on my G4 PPC 32. Still fails with gcc 4.4.3 Have you tried with binutils-2.20.51.0.6 ? I just tried binutils-2.20.51.0.6 and to my surprise it worked :-) *** Bug 305015 has been marked as a duplicate of this bug. *** (In reply to comment #14) > *** Bug 305015 has been marked as a duplicate of this bug. *** > It was said in above bug: I was able to solve the problem by applying the following patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf64-ppc.c.diff?cvsroot=src&only_with_tag=binutils-2_20-branch&r1=1.299.2.3&r2=1.299.2.4 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-ppc.c.diff?cvsroot=src&only_with_tag=binutils-2_20-branch&r1=1.267.2.3&r2=1.267.2.4 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/include/elf/ppc.h.diff?cvsroot=src&only_with_tag=binutils-2_20-branch&r1=1.25.4.1&r2=1.25.4.2 As suggested in: http://sourceware.org/bugzilla/show_bug.cgi?id=11088 I applied them on top of those already applied by the ebuild. After doing this, qt webkit compiled and installed without issues. That version of binutils is not keyworded :-( Installing it by using ** does work though and it allows qt-webkit to be built. Can that version please be keyworded ~ppc? (In reply to comment #16) > That version of binutils is not keyworded :-( > > Installing it by using ** does work though and it allows qt-webkit to be built. > Can that version please be keyworded ~ppc? > Didn't you read the above comment? The user kindly offered us links to backport the patches to the stable binutils branch, why should we keyword a experimental version then? Thanks. Patch queued for 2.20-r1. *** Bug 295765 has been marked as a duplicate of this bug. *** Hi All, Could anybody please clarify, why this bug is a blocker for Qt 4.6 stabilization? As I understand this issue can be reproduced only with latest unstable binutils and only on ppc platform. So it's not related to current stable profiles. (In reply to comment #20) > Could anybody please clarify, why this bug is a blocker for Qt 4.6 > stabilization? As I understand this issue can be reproduced only with latest > unstable binutils I don't see any indication in this bug that it works with 2.18 or 2.19 > and only on ppc platform. That is true and for that reason this is only a blocker for Qt 4.6 stabilization on ppc. Stabilization for the other arches will go ahead, as planned, next week. (In reply to comment #21) > I don't see any indication in this bug that it works with 2.18 or 2.19 So you mean that the Qt 4.6 cannot be built on ppc at all? I think in this case the bug description is ambiguous, because it looks like only 2.20 branch is affected. > That is true and for that reason this is only a blocker for Qt 4.6 > stabilization on ppc. Stabilization for the other arches will go ahead, as > planned, next week. Wow, great. In the tree. qt-webkit-4.6.2 is stable on ppc, but newer binutils is not, thus users are hitting this bug in the stable tree. (In reply to comment #24) > qt-webkit-4.6.2 is stable on ppc, but newer binutils is not, thus users are > hitting this bug in the stable tree. > 27 Jun 2010; <nixnut@gentoo.org> binutils-2.20.1-r1.ebuild: ppc stable #298571 |