* objfiles.c (objfile_relocate): Relocate ei.entry_point with

its section offset, use SECT_OFF_TEXT only as a fallback.
This commit is contained in:
Peter Schauer 2000-11-03 19:00:06 +00:00
parent ade0b24fe1
commit 36b0c0e021
2 changed files with 17 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2000-11-03 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
* objfiles.c (objfile_relocate): Relocate ei.entry_point with
its section offset, use SECT_OFF_TEXT only as a fallback.
2000-11-01 Kevin Buettner <kevinb@redhat.com> 2000-11-01 Kevin Buettner <kevinb@redhat.com>
* symm-nat.c (print_1167_regs): Remove extraneous blank line * symm-nat.c (print_1167_regs): Remove extraneous blank line

View file

@ -642,6 +642,18 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
(objfile->section_offsets)->offsets[i] = ANOFFSET (new_offsets, i); (objfile->section_offsets)->offsets[i] = ANOFFSET (new_offsets, i);
} }
if (objfile->ei.entry_point != ~(CORE_ADDR) 0)
{
/* Relocate ei.entry_point with its section offset, use SECT_OFF_TEXT
only as a fallback. */
struct obj_section *s;
s = find_pc_section (objfile->ei.entry_point);
if (s)
objfile->ei.entry_point += ANOFFSET (delta, s->the_bfd_section->index);
else
objfile->ei.entry_point += ANOFFSET (delta, SECT_OFF_TEXT (objfile));
}
{ {
struct obj_section *s; struct obj_section *s;
bfd *abfd; bfd *abfd;
@ -657,9 +669,6 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
} }
} }
if (objfile->ei.entry_point != ~(CORE_ADDR) 0)
objfile->ei.entry_point += ANOFFSET (delta, SECT_OFF_TEXT (objfile));
if (objfile->ei.entry_func_lowpc != INVALID_ENTRY_LOWPC) if (objfile->ei.entry_func_lowpc != INVALID_ENTRY_LOWPC)
{ {
objfile->ei.entry_func_lowpc += ANOFFSET (delta, SECT_OFF_TEXT (objfile)); objfile->ei.entry_func_lowpc += ANOFFSET (delta, SECT_OFF_TEXT (objfile));