diff options
Diffstat (limited to 'gdb/pa64solib.c')
-rw-r--r-- | gdb/pa64solib.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gdb/pa64solib.c b/gdb/pa64solib.c index 271efc2367b..ab568f57581 100644 --- a/gdb/pa64solib.c +++ b/gdb/pa64solib.c @@ -272,7 +272,8 @@ pa64_solib_add_solib_objfile (so, name, from_tty, text_addr) tmp_bfd = NULL; /* Now let the generic code load up symbols for this library. */ - section_addrs.text_addr = text_addr; + section_addrs.other[0].addr = text_addr; + section_addrs.other[0].name = ".text"; so->objfile = symbol_file_add (name, from_tty, §ion_addrs, 0, OBJF_SHARED); so->abfd = so->objfile->obfd; @@ -327,9 +328,9 @@ pa64_solib_load_symbols (so, name, from_tty, text_addr, target) return; } - ANOFFSET (so->objfile->section_offsets, SECT_OFF_TEXT) + ANOFFSET (so->objfile->section_offsets, SECT_OFF_TEXT (so->objfile)) = so->pa64_solib_desc.text_base; - ANOFFSET (so->objfile->section_offsets, SECT_OFF_DATA) + ANOFFSET (so->objfile->section_offsets, SECT_OFF_DATA (so->objfile)) = so->pa64_solib_desc.data_base; /* Relocate all the sections based on where they got loaded. */ @@ -337,13 +338,13 @@ pa64_solib_load_symbols (so, name, from_tty, text_addr, target) { if (p->the_bfd_section->flags & SEC_CODE) { - p->addr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_TEXT); - p->endaddr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_TEXT); + p->addr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_TEXT (so->objfile)); + p->endaddr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_TEXT (so->objfile)); } else if (p->the_bfd_section->flags & SEC_DATA) { - p->addr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_DATA); - p->endaddr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_DATA); + p->addr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_DATA (so->objfile)); + p->endaddr += ANOFFSET (so->objfile->section_offsets, SECT_OFF_DATA (so->objfile)); } } |