mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-13 02:45:02 +08:00
* ldmain.h (overflow_cutoff_limit): Declare.
* ldmain.c (overflow_cutoff_limit): Define, initialized to 10. (reloc_overflow): Limit error messages based on it. * lexsup.c (parse_args) <OPTION_VERBOSE>: Set cutoff to unlimited.
This commit is contained in:
@ -1,3 +1,11 @@
|
||||
2003-05-07 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* ldmain.h (overflow_cutoff_limit): Declare.
|
||||
* ldmain.c (overflow_cutoff_limit): Define, initialized to 10.
|
||||
(reloc_overflow): Limit error messages based on it.
|
||||
* lexsup.c (parse_args) <OPTION_VERBOSE>: Set cutoff to
|
||||
unlimited.
|
||||
|
||||
2003-05-05 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ldlex.l: Accept C style comments in version scripts.
|
||||
|
20
ld/ldmain.c
20
ld/ldmain.c
@ -1362,6 +1362,15 @@ undefined_symbol (info, name, abfd, section, address, fatal)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Counter to limit the number of relocation overflow error messages
|
||||
to print. Errors are printed as it is decremented. When it's
|
||||
called and the counter is zero, a final message is printed
|
||||
indicating more relocations were omitted. When it gets to -1, no
|
||||
such errors are printed. If it's initially set to a value less
|
||||
than -1, all such errors will be printed (--verbose does this). */
|
||||
|
||||
int overflow_cutoff_limit = 10;
|
||||
|
||||
/* This is called when a reloc overflows. */
|
||||
|
||||
static bfd_boolean
|
||||
@ -1374,10 +1383,21 @@ reloc_overflow (info, name, reloc_name, addend, abfd, section, address)
|
||||
asection *section;
|
||||
bfd_vma address;
|
||||
{
|
||||
if (overflow_cutoff_limit == -1)
|
||||
return TRUE;
|
||||
|
||||
if (abfd == (bfd *) NULL)
|
||||
einfo (_("%P%X: generated"));
|
||||
else
|
||||
einfo ("%X%C:", abfd, section, address);
|
||||
|
||||
if (overflow_cutoff_limit >= 0
|
||||
&& overflow_cutoff_limit-- == 0)
|
||||
{
|
||||
einfo (_(" additional relocation overflows omitted from the output\n"));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
einfo (_(" relocation truncated to fit: %s %T"), reloc_name, name);
|
||||
if (addend != 0)
|
||||
einfo ("+%v", addend);
|
||||
|
@ -36,6 +36,7 @@ extern bfd_boolean demangling;
|
||||
extern int g_switch_value;
|
||||
extern const char *output_filename;
|
||||
extern struct bfd_link_info link_info;
|
||||
extern int overflow_cutoff_limit;
|
||||
|
||||
extern void add_ysym PARAMS ((const char *));
|
||||
extern void add_wrap PARAMS ((const char *));
|
||||
|
@ -1047,6 +1047,7 @@ parse_args (argc, argv)
|
||||
ldversion (1);
|
||||
version_printed = TRUE;
|
||||
trace_file_tries = TRUE;
|
||||
overflow_cutoff_limit = -2;
|
||||
break;
|
||||
case 'v':
|
||||
ldversion (0);
|
||||
|
Reference in New Issue
Block a user