On Tue, Jul 03, 2018 at 10:21:42AM +0200, Jan Kurik wrote:
Note from Change Wrangler: This Change Proposal requires mass
rebuild.
However, two weeks ago (June 19th), we have already passed the
deadline for Change proposals requiring mass rebuild. I will leave the
decision whether this Change proposal is accepted or not to RelEng and
FESCo teams.
= Proposed System Wide Change: Remove Excessive Linking =
https://fedoraproject.org/wiki/Changes/RemoveExcessiveLinking
Owner(s):
* Igor Gnatenko <ignatenkobrain at fedoraproject dot org>
* Neal Gompa <ngompa13 at gmail dot com>
Pass "--as-needed" flag the linker through default system-wide LDFLAGS.
== Detailed description ==
The flag ("--as-needed") tells the linker to link in the produced
binary only the libraries containing symbols actually used by the
binary itself. This binary can be either a final executale or another
library.
The use of the "--as-needed" flag allows the linker to avoid linking
extra libraries in a binary. This not only improves startup times (as
the loader does not have to load all the libraries for every step) but
might avoid the full initialization of big frameworks.
Well, --as-needed is workaround and nothing else. The real problem is
mess in makefiles and .pc (pkg-config) files.
It would be better to use --as-needed for testing purpose only, and
ask maintainers why the result with --as-needed is different.
Karel
--
Karel Zak <kzak(a)redhat.com>
http://karelzak.blogspot.com