* ieee.c (ieee_slurp_external_symbols): Select an appropriate

section for an absolute symbol in a fully linked file.  Based on
	patch from Christian Holland <CHolland@de.lucent.com>.
This commit is contained in:
Ian Lance Taylor 1998-07-10 20:31:44 +00:00
parent 326d0b2545
commit 81d195ae16
2 changed files with 28 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Fri Jul 10 16:31:06 1998 Ian Lance Taylor <ian@cygnus.com>
* ieee.c (ieee_slurp_external_symbols): Select an appropriate
section for an absolute symbol in a fully linked file. Based on
patch from Christian Holland <CHolland@de.lucent.com>.
Wed Jul 8 11:29:56 1998 Manfred Hollstein <manfred@s-direktnet.de>
* coff-m88k.c (m88k_special_reloc): Don't lose the information

View File

@ -825,6 +825,28 @@ ieee_slurp_external_symbols (abfd)
&extra,
&symbol->symbol.section);
/* Fully linked IEEE-695 files tend to give every symbol
an absolute value. Try to convert that back into a
section relative value. FIXME: This won't always to
the right thing. */
if (bfd_is_abs_section (symbol->symbol.section)
&& (abfd->flags & HAS_RELOC) == 0)
{
bfd_vma val;
asection *s;
val = symbol->symbol.value;
for (s = abfd->sections; s != NULL; s = s->next)
{
if (val >= s->vma && val < s->vma + s->_raw_size)
{
symbol->symbol.section = s;
symbol->symbol.value -= s->vma;
break;
}
}
}
symbol->symbol.flags = BSF_GLOBAL | BSF_EXPORT;
}