aboutsummaryrefslogtreecommitdiff
path: root/ld/ldmain.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-10-29 18:10:06 +1030
committerAlan Modra <amodra@gmail.com>2018-10-29 18:21:05 +1030
commit727a29badd95a68d08b86fec0b98702ce756c660 (patch)
tree83df8737f89d9e8cee74c6d1e98db4475a7555fb /ld/ldmain.c
parent5c87f94bb85e5b8e715aa7f947ecc602960f20ee (diff)
downloadgdb-727a29badd95a68d08b86fec0b98702ce756c660.zip
gdb-727a29badd95a68d08b86fec0b98702ce756c660.tar.gz
gdb-727a29badd95a68d08b86fec0b98702ce756c660.tar.bz2
Report scripts and libraries searched for ld --trace
The idea of this change is to make -t output useful for users wanting to package all the object files involved in linking for a bug report. Something like the following should do the trick. gcc hello.c -save-temps -Wl,-t | xargs realpath | sort | uniq > files tar cJf test.tar.xz `cat files` * ldlang.c (load_symbols): When -t, print file names for script files and archives. * ldmain.c (trace_files): Make an int. (add_archive_element): Print archive elements only with multiple -t options, or when archive is thin. * ldmain.h (trace_files): Update. * ldmisc.c (vfinfo): Don't print both original path and path in sysroot. * lexsup.c (parse_args <t>): Increment trace_files.
Diffstat (limited to 'ld/ldmain.c')
-rw-r--r--ld/ldmain.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 36a6c60..47cbed1 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -77,7 +77,7 @@ int ld_canon_sysroot_len;
int g_switch_value = 8;
/* Nonzero means print names of input files as processed. */
-bfd_boolean trace_files;
+unsigned int trace_files;
/* Nonzero means report actions taken by the linker, and describe the linker script in use. */
bfd_boolean verbose;
@@ -926,7 +926,9 @@ add_archive_element (struct bfd_link_info *info,
minfo ("(%s)\n", name);
}
- if (trace_files || verbose)
+ if (verbose
+ || trace_files > 1
+ || (trace_files && bfd_is_thin_archive (orig_input.the_bfd->my_archive)))
info_msg ("%pI\n", &orig_input);
return TRUE;
}