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. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils