mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 00:59:15 +08:00
* ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
symbol has a value in the ECOFF symbol but not in the BFD symbol, keep the value in the ECOFF symbol. This helps gas.
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||||
|
|
||||||
|
* ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
|
||||||
|
symbol has a value in the ECOFF symbol but not in the BFD symbol,
|
||||||
|
keep the value in the ECOFF symbol. This helps gas.
|
||||||
|
|
||||||
* linker.c (_bfd_generic_link_output_symbols,
|
* linker.c (_bfd_generic_link_output_symbols,
|
||||||
_bfd_generic_link_write_global_symbol): Don't require that all
|
_bfd_generic_link_write_global_symbol): Don't require that all
|
||||||
references to a common symbol be themselves common symbols.
|
references to a common symbol be themselves common symbols.
|
||||||
|
@ -991,7 +991,15 @@ bfd_ecoff_debug_externals (abfd, debug, swap, relocateable, get_extr,
|
|||||||
|
|
||||||
if (bfd_is_com_section (sym_ptr->section)
|
if (bfd_is_com_section (sym_ptr->section)
|
||||||
|| sym_ptr->section == &bfd_und_section)
|
|| sym_ptr->section == &bfd_und_section)
|
||||||
esym.asym.value = sym_ptr->value;
|
{
|
||||||
|
/* FIXME: gas does not keep the value of a small undefined
|
||||||
|
symbol in the symbol itself, because of relocation
|
||||||
|
problems. */
|
||||||
|
if (esym.asym.sc != scSUndefined
|
||||||
|
|| esym.asym.value == 0
|
||||||
|
|| sym_ptr->value != 0)
|
||||||
|
esym.asym.value = sym_ptr->value;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
esym.asym.value = (sym_ptr->value
|
esym.asym.value = (sym_ptr->value
|
||||||
+ sym_ptr->section->output_offset
|
+ sym_ptr->section->output_offset
|
||||||
|
Reference in New Issue
Block a user