Improve warnings for relocations referring to discarded sections.
gold/ * target-reloc.h (relocate_section): Add local symbol index or global symbol name to warning about relocation that refers to discarded section.
This commit is contained in:
parent
2d8c1a2318
commit
c54b27d1c0
@ -1,3 +1,9 @@
|
|||||||
|
2018-04-05 Cary Coutant <ccoutant@gmail.com>
|
||||||
|
|
||||||
|
* target-reloc.h (relocate_section): Add local symbol index or global
|
||||||
|
symbol name to warning about relocation that refers to discarded
|
||||||
|
section.
|
||||||
|
|
||||||
2018-04-05 James Cowgill <james.cowgill@mips.com>
|
2018-04-05 James Cowgill <james.cowgill@mips.com>
|
||||||
|
|
||||||
Revert previous patch and apply revised patch.
|
Revert previous patch and apply revised patch.
|
||||||
|
@ -305,6 +305,7 @@ relocate_section(
|
|||||||
const Symbol_value<size> *psymval;
|
const Symbol_value<size> *psymval;
|
||||||
bool is_defined_in_discarded_section;
|
bool is_defined_in_discarded_section;
|
||||||
unsigned int shndx;
|
unsigned int shndx;
|
||||||
|
const Symbol* gsym = NULL;
|
||||||
if (r_sym < local_count
|
if (r_sym < local_count
|
||||||
&& (reloc_symbol_changes == NULL
|
&& (reloc_symbol_changes == NULL
|
||||||
|| (*reloc_symbol_changes)[i] == NULL))
|
|| (*reloc_symbol_changes)[i] == NULL))
|
||||||
@ -327,7 +328,6 @@ relocate_section(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const Symbol* gsym;
|
|
||||||
if (reloc_symbol_changes != NULL
|
if (reloc_symbol_changes != NULL
|
||||||
&& (*reloc_symbol_changes)[i] != NULL)
|
&& (*reloc_symbol_changes)[i] != NULL)
|
||||||
gsym = (*reloc_symbol_changes)[i];
|
gsym = (*reloc_symbol_changes)[i];
|
||||||
@ -383,9 +383,24 @@ relocate_section(
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (comdat_behavior == CB_WARNING)
|
if (comdat_behavior == CB_WARNING)
|
||||||
gold_warning_at_location(relinfo, i, offset,
|
{
|
||||||
_("relocation refers to discarded "
|
if (gsym == NULL)
|
||||||
"section"));
|
{
|
||||||
|
gold_warning_at_location(
|
||||||
|
relinfo, i, offset,
|
||||||
|
_("relocation refers to local symbol %d "
|
||||||
|
"defined in discarded section"),
|
||||||
|
r_sym);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gold_warning_at_location(
|
||||||
|
relinfo, i, offset,
|
||||||
|
_("relocation refers to symbol \"%s\" "
|
||||||
|
"defined in discarded section"),
|
||||||
|
gsym->demangled_name().c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
symval2.set_output_value(0);
|
symval2.set_output_value(0);
|
||||||
}
|
}
|
||||||
symval2.set_no_output_symtab_entry();
|
symval2.set_no_output_symtab_entry();
|
||||||
|
Loading…
Reference in New Issue
Block a user