FS#44910 - [binutils] Fix --dynamic-list so that symbols not in the list are still exported

Attached to Project: Arch Linux
Opened by Andrea Scarpino (BaSh) - Saturday, 09 May 2015, 09:18 GMT
Last edited by Allan McRae (Allan) - Thursday, 21 May 2015, 23:26 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Andrea Scarpino (BaSh)
Allan McRae (Allan)
Felix Yan (felixonmars)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e9c1bdad269c0c3352eebcc9481ed65144001b0b

Additional info:
https://bugzilla.redhat.com/show_bug.cgi?id=1193044

Steps to reproduce:
Build a Qt5 application using gcc 5. It segfaults.
This task depends upon

Closed by  Allan McRae (Allan)
Thursday, 21 May 2015, 23:26 GMT
Reason for closing:  Fixed
Comment by Andrea Scarpino (BaSh) - Saturday, 09 May 2015, 09:20 GMT
I retract my description: it does not really affects "any" Qt5 application, but I reproduced it by building kwalletmanager-git here.
Comment by Gustavo Alvarez (sl1pkn07) - Saturday, 09 May 2015, 09:53 GMT
same here, test with bomi{-git}, ark-frameworks-git, kscreengenie-git, konversation-git, etc....
Comment by Allan McRae (Allan) - Saturday, 09 May 2015, 21:45 GMT
Try binutils-2.25-5 in [testing]
Comment by Gustavo Alvarez (sl1pkn07) - Saturday, 09 May 2015, 22:12 GMT
nope,

test whit ark-frameworks-git. not explode, but freeze in launch (not finish run)

with kscreengenie-git:

#0 0x0000000000416c60 in main ()

kscreengenie[13260]: segfault at 8 ip 00007fac73999bac sp 00007fff1bad8e30 error 4 in libQt5Core.so.5.4.1[7fac736db000+4c2000]

this is with GCC 5.1.0. if back (downgrade) to 4.9 all works again
Comment by Allan McRae (Allan) - Sunday, 10 May 2015, 05:07 GMT
I have confirmed binutils 2.25-5 fixes the testcase in that bug.
Comment by Allan McRae (Allan) - Sunday, 10 May 2015, 05:42 GMT
A rebuild of choqok appears to work fine. bomi segfaults although appears nothing to do with the linker.
Comment by Allan McRae (Allan) - Sunday, 10 May 2015, 05:53 GMT Comment by Allan McRae (Allan) - Sunday, 10 May 2015, 05:56 GMT
That patch was reverted... try this one: https://codereview.qt-project.org/#/c/111787/
Comment by Allan McRae (Allan) - Sunday, 10 May 2015, 06:02 GMT
Adding Felix - qt5 maintainer.
Comment by Evangelos Foutras (foutrelis) - Sunday, 10 May 2015, 07:48 GMT
Upstream commit 36d6eb721e [1] appears to fix the crash and now bomi starts up fine.

I will push new packages in a bit. We might also want to rebuild packages that use Qt5 and are currently in testing/staging.

[1] http://code.qt.io/cgit/qt/qtbase.git/commit/?id=36d6eb721e7d5997ade75e289d4088dc48678d0d
Comment by Evangelos Foutras (foutrelis) - Sunday, 10 May 2015, 08:32 GMT
Should be fixed in qt5 5.4.1-6.
Comment by Gustavo Alvarez (sl1pkn07) - Sunday, 10 May 2015, 13:29 GMT
nope for me

ark-frameworks freezes in launch and kscreengenie-git get segfault in same point if build with GCC 5.1.0

restarting the kde, i get this

http://sl1pkn07.wtf/paste/view/0b4cd989

but the programs builded with GCC 5.1.0 still not works (ark-frameworks-git and kscreengenie-git)

back to gcc 4.9.x (and rebuild) works again

@arojas ask me if I use Haswell architecture (ucode related), and no, I use Westmere-EP

greetings
Comment by Evangelos Foutras (foutrelis) - Sunday, 10 May 2015, 13:49 GMT
Regarding the kscreengenie-git segfault, try again with libkscreen 5.3.0-3. (5.3.0-1 was built with GCC 5 and Qt5 without the patch.)
Comment by Gustavo Alvarez (sl1pkn07) - Sunday, 10 May 2015, 14:01 GMT
nope. same segfault (builded with gcc 5.1.0)

kscreengenie[9876]: segfault at 8 ip 00007fa28a2dcbac sp 00007fffc6548000 error 4 in libQt5Core.so.5.4.1[7fa28a01e000+4c2000]

└───╼ yaourt -Qi libkscreen
Nombre : libkscreen
Versión : 5.3.0-3
Comment by Evangelos Foutras (foutrelis) - Sunday, 10 May 2015, 15:52 GMT Comment by Evangelos Foutras (foutrelis) - Tuesday, 12 May 2015, 15:57 GMT
qt5 5.4.1-7 is now built with -no-use-gold-linker to work around this issue. Qt5 linked with ld.gold from binutils >= 2.25-5 should work fine as well.

Note that Qt upstream insists that the gold linker fix is not sufficient and Qt applications will need to be built with -fPIC when compiled by GCC 5. I'm not sure how true this is since Fedora also used the -no-use-gold-linker workaround, but I'm not going to argue this point anymore on QTBUG-45755. [1]

As it currently stands, Qt 5.4.2 (and our qt5 >= 5.4.1-6 packages) will automatically use -fPIC in qmake builds. Qt 5.4.2 will also error out if -fPIC is not used (our packages don't have that change backported). Finally Qt 5.4.2 might also add -fPIC to CMake builds if my patch gets accepted upstream. [2]

I would advise keeping GCC 5 in testing until Qt 5.4.2 is out so as to avoid building many Qt packages with GCC 5 until the upstream fix is final.

[1] https://bugreports.qt.io/browse/QTBUG-45755
[2] https://codereview.qt-project.org/#/c/112060/
Comment by Gustavo Alvarez (sl1pkn07) - Tuesday, 12 May 2015, 18:10 GMT
for me, qt 5.4.1-7 fixes my issues with ark-frameworks-git and kscreengenie-git (only test with this packages for the moment) when build with GCC 5

the segfaults are gone

great work!

greetings

Loading...