https://sourceware.org/bugzilla/show_bug.cgi?id=27990
Bug ID: 27990 Summary: ld --trace: Print the symbol which leads to archive extraction Product: binutils Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: i at maskray dot me Target Milestone: --- % gcc a.c -static -fuse-ld=bfd -Wl,-t /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginT.o /tmp/ccczCGoq.o /usr/lib/gcc/x86_64-linux-gnu/10/libgcc.a /usr/lib/gcc/x86_64-linux-gnu/10/libgcc_eh.a /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a /usr/lib/gcc/x86_64-linux-gnu/10/libgcc.a /usr/lib/gcc/x86_64-linux-gnu/10/libgcc_eh.a /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a /usr/lib/gcc/x86_64-linux-gnu/10/libgcc.a /usr/lib/gcc/x86_64-linux-gnu/10/libgcc_eh.a /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a /usr/lib/gcc/x86_64-linux-gnu/10/crtend.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o gold's includes archive member names, which is IMHO more useful % gcc a.c -static -fuse-ld=gold -Wl,-t /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginT.o /tmp/ccX5yMOZ.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(libc-start.o) /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(check_fds.o) /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(libc-tls.o) /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(elf-init.o) ... When debugging multiple definition errors, we sometimes want to know the origin symbols. I think including the symbol causing archive member extraction in --trace can be useful, e.g. ``` /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginT.o /tmp/ccX5yMOZ.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(libc-start.o)\txxx /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(check_fds.o)\tyyy /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(libc-tls.o)\tzzz /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libc.a(elf-init.o)\twww ``` -- You are receiving this mail because: You are on the CC list for the bug.