+2018-10-29 Alan Modra <amodra@gmail.com>
+
+ * 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.
+
2018-10-29 Alan Modra <amodra@gmail.com>
* ldmain.c (main): Print emulation mode and "deleting executable"
if (entry->flags.missing_file)
return TRUE;
+ if (trace_files || verbose)
+ info_msg ("%pI\n", entry);
+
if (!bfd_check_format (entry->the_bfd, bfd_archive)
&& !bfd_check_format_matches (entry->the_bfd, bfd_object, &matching))
{
case bfd_object:
if (!entry->flags.reload)
ldlang_add_file (entry);
- if (trace_files || verbose)
- info_msg ("%pI\n", entry);
break;
case bfd_archive:
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;
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;
}
extern FILE *previous_script_handle;
extern bfd_boolean force_make_executable;
extern char *default_target;
-extern bfd_boolean trace_files;
+extern unsigned int trace_files;
extern bfd_boolean verbose;
extern bfd_boolean version_printed;
extern bfd_boolean demangling;
fmt++;
i = (lang_input_statement_type *) args[arg_no].p;
++arg_count;
- if (i->the_bfd->my_archive != NULL
+ if (i->the_bfd != NULL
+ && i->the_bfd->my_archive != NULL
&& !bfd_is_thin_archive (i->the_bfd->my_archive))
- fprintf (fp, "(%s)",
- bfd_get_filename (i->the_bfd->my_archive));
- fprintf (fp, "%s", i->local_sym_name);
- if ((i->the_bfd->my_archive == NULL
- || bfd_is_thin_archive (i->the_bfd->my_archive))
- && filename_cmp (i->local_sym_name, i->filename) != 0)
- fprintf (fp, " (%s)", i->filename);
+ fprintf (fp, "(%s)%s", i->the_bfd->my_archive->filename,
+ i->local_sym_name);
+ else
+ fprintf (fp, "%s", i->filename);
}
else if (*fmt == 'R')
{
command_line.symbolic = symbolic_functions;
break;
case 't':
- trace_files = TRUE;
+ ++trace_files;
break;
case 'T':
previous_script_handle = saved_script_handle;