[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/27990] New: ld --trace: Print the symbol which leads to archive
From: |
i at maskray dot me |
Subject: |
[Bug ld/27990] New: ld --trace: Print the symbol which leads to archive extraction |
Date: |
Wed, 16 Jun 2021 23:38:28 +0000 |
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.
- [Bug ld/27990] New: ld --trace: Print the symbol which leads to archive extraction,
i at maskray dot me <=