bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/19480] [2.26.51 regression] ld creates wrong output for libstdc+


From: nickc at redhat dot com
Subject: [Bug ld/19480] [2.26.51 regression] ld creates wrong output for libstdc++6.dll for mingw32 (32-bit)
Date: Wed, 24 Feb 2016 15:32:08 +0000

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

Nick Clifton <nickc at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #4 from Nick Clifton <nickc at redhat dot com> ---
Hi Stephen,

> -Wl,--no-gc-sections produces a working libstdc++-6.dll for me (with a ld
> built with the PE/COFF GC patch).

OK, so that is good to know.

> I was wondering whether this could be due to a missing section name in
> pe.sc, but the fact that this is 32-bit specific suggests there's something
> else going on, right? With both DLLs to hand, how could I go about figuring
> out what went wrong? (The "bad" DLL has a bunch of undefined symbols.)

The undefined symbols are almost certainly the key.  They probably should not
be undefined.  

First of all, please try out the patch that I am about to upload.  It may be
that
the problem is that the linker is garbage collecting sections that are really
needed, because the linker script failed to mark those sections as KEEP.  (You
may need to check that the linker script you are using is the one that is fixed
by the uploaded patch.  Add -Wl,--verbose to the gcc command line to check
this).

If that does not work then try adding -Wl,--print-gc-sections to the bad DLL
creation command line.  See what gets thrown away, see if this matches up with
the undefined symbols, and try to work out why they are being thrown away.

Cheers
  Nick

-- 
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]