* 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:
parent
f85ad9d5c5
commit
cbc174e7ab
@ -1,5 +1,9 @@
|
||||
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,
|
||||
_bfd_generic_link_write_global_symbol): Don't require that all
|
||||
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)
|
||||
|| 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
|
||||
esym.asym.value = (sym_ptr->value
|
||||
+ sym_ptr->section->output_offset
|
||||
|
Loading…
Reference in New Issue
Block a user