bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/17670] internal error in symval_for_branch, at powerpc.cc:6755


From: amodra at gmail dot com
Subject: [Bug gold/17670] internal error in symval_for_branch, at powerpc.cc:6755 during qt5 build
Date: Wed, 03 Dec 2014 04:32:28 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=17670

--- Comment #3 from Alan Modra <amodra at gmail dot com> ---
I don't know enough C++ to say anything authoritive about the testcase but it
seems to me that either the testcase is invalid or mainline g++ is broken,
probably the latter.

The reason I say that is that qmimeglobpattern.o contains this group
COMDAT group section [    1] `.group' [_ZN5QListI7QStringED5Ev] contains 1
sections:
   [Index]    Name
   [   11]   .text._ZN5QListI7QStringED2Ev
defining the function _ZN5QListI7QStringED2Ev

and qmimeprovider.o this group
COMDAT group section [    1] `.group' [_ZN5QListI7QStringED5Ev] contains 2
sections:
   [Index]    Name
   [    8]   .text._ZN5QListI7QStringED2Ev
   [   12]   .gcc_except_table._ZN5QListI7QStringED2Ev
defining _ZN5QListI7QStringED1Ev and _ZN5QListI7QStringED2Ev

Since these are comdat groups, the first one is kept and the second dropped,
resulting in _ZN5QListI7QStringED1Ev being undefined.  The sym is weak so that
in itself doesn't cause a link failure, but does result in runtime failure even
on x86_64.  I can simply change the assertion to a condition in powerpc.cc
which will result in exactly the same runtime failure on powerpc..  Now it
happens that _ZN5QListI7QStringED1Ev and _ZN5QListI7QStringED2Ev are aliases in
the second group, but I don't think ld has any business trying to map symbols
across to the kept section.

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]