--- Additional Comments From robert dot wohlrab at gmx dot de 2009-10-31
22:58 ---
Downstream bug http://bugs.debian.org/553512
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10880
--- You are receiving this mail because: ---
You are on the CC list for the bug, or are wat
A simple
echo "int main() {return 0;}" > testme.c
gcc -Wl,--as-needed testme.c -o testme -lglib-2.0
will link against glib-2.0 even if it is not used. So
readelf -d testme|grep -e '(NEEDED)' -e 'glib-2.0'
will not be an empty string.
--
Summary: --as-needed doesn't work
--- Additional Comments From robert dot wohlrab at gmx dot de 2009-10-31
22:10 ---
It seems to be that it is partly related to the problem that --as-needed
doesn't remove files which aren't really needed by the executable. So a simple
echo "int main() {return 0;}" > testme.c
gcc -Wl,--a
I've tested many packages with gold linker and noticed that it creates a
unknown symbol for every library I tested. I don't know for what it is but
either dpkg-gensymbols has to stop to add it to the symbols file or binutils-
gold has to stop to export it as symbol that looks like it was exported
I tested different packages in debian and noticed that gold always links
against some libraries which aren't used and I never specified. I also tested
to use --as-needed and it didn't change that weird behavior. This doesn't
happen with the old binutils linker
Example output from zlib:
dpkg-shlib