This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/64390] "-shared" does not resolve symbols from lto generated archives
- From: "htl10 at users dot sourceforge.net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 24 Dec 2014 21:45:00 +0000
- Subject: [Bug ipa/64390] "-shared" does not resolve symbols from lto generated archives
- Auto-submitted: auto-generated
- References: <bug-64390-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64390
Hin-Tak Leung <htl10 at users dot sourceforge.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution|--- |WORKSFORME
--- Comment #4 from Hin-Tak Leung <htl10 at users dot sourceforge.net> ---
(In reply to H.J. Lu from comment #2)
> Can you try binutils 2.25?
Trying binutils 2.25 was a great help. ranlib of 2.25 actually emit a warning
about being ran on lto archives (which ranlib of 2.24 does not - I checked
again). So the part of R I had problem building and had to work around, was
running AR and RANLIB separately; other parts were doing AR in one step, so
setting AR was sufficient except where it failed, only once. Setting
RANLIB=gcc-ranlib in addition to AR=gcc-ar works.
I would have been nice if ranlib emit a warning (so it was added in 2.25)
instead of silently going ahead; incidently ar on redhat segaulted in a
slightly out of date patch with your name on it:
" Import H.J.'s patch to add support for kernel ld -r modules."
(see https://bugzilla.redhat.com/show_bug.cgi?id=1149660#c16)
and the fix to the segfault is identical to what you already did two years ago:
commit d7f8c5c183adcaa3c313150486e15ea703a65576
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 4 06:44:34 2012 -0700
Set tdata.plugin_data first
(https://bugzilla.redhat.com/show_bug.cgi?id=1149660#c17)
So it would be nice if you could check and make sure that redhat is shipping
the latest of the 'ld -r' diff, and/or have a look at the 32-bit segault also?
( https://bugzilla.redhat.com/show_bug.cgi?id=1174065 )