Source: gcc-4.6 Severity: minor (@Bernhard: /dpkg-shlibdeps: warning: dependency on.*could be avoided.*uselessly linked/)
I’ve just spotted this in the build logs: dpkg-shlibdeps: warning: dependency on libgcc_s.so.1 could be avoided if "debian/mksh/bin/mksh" were not uselessly linked against it (they use none of its symbols). This could, by the way, be used in the new checker. Anyway, thing is, mksh doesn’t use libgcc_s or request any function from it specifically; the dependency is added by gcc itself and this should be fixed there. The link command used is: gcc -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -Wall -Wextra -fno-strict-aliasing -fstack-protector-all -fwrapv -flto=jobserver -std=gnu99 -fPIE -pie -Wl,-z,relro -Wl,-z,now -fuse-linker-plugin -o mksh lalloc.o edit.o eval.o exec.o expr.o funcs.o histrap.o jobs.o lex.o main.o misc.o shf.o syn.o tree.o var.o strlcpy.o printf.o Looking at “gcc -dumpspecs”, I see this though: *libgcc: %{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed -lgcc_s --no-as-needed}%{shared-libgcc:-lgcc_s%{!shared: -lgcc}}}} No explicit -shared-libgcc here (from me, at least.) This would have been the logic place to fix this. Running this (in a sid/i386 chroot) on a Hello World programme I get the same result. Adding -v shows the possible culprit to be: -plugin-opt=-pass-through=-lgcc_s Actually, -Wl,-v is more legible and shows: /usr/bin/ld -plugin /usr/lib/gcc/i486-linux-gnu/4.6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/i486-linux-gnu/4.6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccflfrHu.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr -m elf_i386 --hash-style=both -dynamic-linker /lib/ld-linux.so.2 -pie -o t /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/Scrt1.o /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/crti.o /usr/lib/gcc/i486-linux-gnu/4.6/crtbeginS.o -L/usr/lib/gcc/i486-linux-gnu/4.6 -L/usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu -L/usr/lib/gcc/i486-linux-gnu/4.6/../../../../lib -L/lib/i386-linux-gnu -L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.6/../../.. -z relro -z now t.o -v -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i486-linux-gnu/4.6/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.6/../../../i386-linux-gnu/crtn.o bye, //mirabilos -- “Having a smoking section in a restaurant is like having a peeing section in a swimming pool.” -- Edward Burr -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org