diff options
Diffstat (limited to 'gdb/solib-frv.c')
-rw-r--r-- | gdb/solib-frv.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c index a96bfa0..10476f6 100644 --- a/gdb/solib-frv.c +++ b/gdb/solib-frv.c @@ -785,8 +785,7 @@ frv_relocate_main_executable (void) main_executable_lm_info = new lm_info_frv; main_executable_lm_info->map = ldm; - gdb::unique_xmalloc_ptr<struct section_offsets> new_offsets - (XCNEWVEC (struct section_offsets, symfile_objfile->num_sections)); + section_offsets new_offsets (symfile_objfile->section_offsets.size ()); changed = 0; ALL_OBJFILE_OSECTIONS (symfile_objfile, osect) @@ -800,7 +799,7 @@ frv_relocate_main_executable (void) /* Current address of section. */ addr = obj_section_addr (osect); /* Offset from where this section started. */ - offset = ANOFFSET (symfile_objfile->section_offsets, osect_idx); + offset = symfile_objfile->section_offsets[osect_idx]; /* Original address prior to any past relocations. */ orig_addr = addr - offset; @@ -809,10 +808,10 @@ frv_relocate_main_executable (void) if (ldm->segs[seg].p_vaddr <= orig_addr && orig_addr < ldm->segs[seg].p_vaddr + ldm->segs[seg].p_memsz) { - new_offsets->offsets[osect_idx] + new_offsets[osect_idx] = ldm->segs[seg].addr - ldm->segs[seg].p_vaddr; - if (new_offsets->offsets[osect_idx] != offset) + if (new_offsets[osect_idx] != offset) changed = 1; break; } @@ -820,7 +819,7 @@ frv_relocate_main_executable (void) } if (changed) - objfile_relocate (symfile_objfile, new_offsets.get ()); + objfile_relocate (symfile_objfile, new_offsets); /* Now that symfile_objfile has been relocated, we can compute the GOT value and stash it away. */ |