In objfile_relocate(), don't assume that offsets associated with one

of SECT_OFF_TEXT, SECT_OFF_DATA, or SECT_OFF_BSS will be adequate for
relocating all of the sections in an objfile.
This commit is contained in:
Kevin Buettner 2000-09-13 01:47:16 +00:00
parent dcd619bedd
commit 78f0949be7
2 changed files with 11 additions and 19 deletions

View file

@ -1,3 +1,10 @@
2000-09-12 Kevin Buettner <kevinb@redhat.com>
* objfiles.c (objfile_relocate): Don't assume that offsets
associated with one of SECT_OFF_TEXT, SECT_OFF_DATA, or
SECT_OFF_BSS will be adequate for relocating all of the
sections in an objfile.
2000-09-12 Fernando Nasser <fnasser@cygnus.com>
* remote-rdi.c (arm_rdi_open): Fix typo in error message.

View file

@ -650,25 +650,10 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
ALL_OBJFILE_OSECTIONS (objfile, s)
{
flagword flags;
flags = bfd_get_section_flags (abfd, s->the_bfd_section);
if (flags & SEC_CODE)
{
s->addr += ANOFFSET (delta, SECT_OFF_TEXT (objfile));
s->endaddr += ANOFFSET (delta, SECT_OFF_TEXT (objfile));
}
else if (flags & (SEC_DATA | SEC_LOAD))
{
s->addr += ANOFFSET (delta, SECT_OFF_DATA (objfile));
s->endaddr += ANOFFSET (delta, SECT_OFF_DATA (objfile));
}
else if (flags & SEC_ALLOC)
{
s->addr += ANOFFSET (delta, SECT_OFF_BSS (objfile));
s->endaddr += ANOFFSET (delta, SECT_OFF_BSS (objfile));
}
int idx = s->the_bfd_section->index;
s->addr += ANOFFSET (delta, idx);
s->endaddr += ANOFFSET (delta, idx);
}
}