gcc in natty now passes --as-needed by default to the linker

Matthias Klose doko at ubuntu.com
Mon Nov 15 11:26:27 GMT 2010


There is a second change to the linking in natty; as announced in [1], 
--no-add-needed/--no-copy-dt-needed-entries is passed by default, with the 
current gcc in natty, --as-needed is passed as well.  Please see [2] for 
implications (runtime failures) and a list of packages which might be affected.

To revert this change on a per package basis, pass --no-as-needed to the linker 
(-Wl,--no-as-needed in LDFLAGS).  To add an explicit dependency on a library use 
--no-as-needed -lfoo --as-needed.

Please tag bug reports with `as-needed' if you see runtime failures caused by 
this change (mostly unresolvable symbols referenced by plugins and ldopened 
objects).

   Matthias

[1] https://lists.ubuntu.com/archives/ubuntu-devel-announce/2010-October/000772.html
[2] http://wiki.debian.org/ToolChain/DSOLinking#Onlylinkwithneededlibraries



More information about the ubuntu-devel mailing list