From: Ulrich Weigand Date: Tue, 14 Jul 2009 14:55:06 +0000 (+0000) Subject: * objfiles.c (objfile_relocate): Do not relocate the same X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b101f7a1257f10f7e9d596bef5c59b4ae082f4ab;p=binutils-gdb.git * objfiles.c (objfile_relocate): Do not relocate the same BLOCKVECTOR_MAP address map multiple times. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2056b31d98a..690f76a0461 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2009-07-14 Ulrich Weigand + + * objfiles.c (objfile_relocate): Do not relocate the same + BLOCKVECTOR_MAP address map multiple times. + 2009-07-14 Ulrich Weigand * remote.c (process_stop_reply): Access expedited target registers diff --git a/gdb/objfiles.c b/gdb/objfiles.c index 795d53b3f54..69b366f0e60 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -570,6 +570,10 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets) continue; bv = BLOCKVECTOR (s); + if (BLOCKVECTOR_MAP (bv)) + addrmap_relocate (BLOCKVECTOR_MAP (bv), + ANOFFSET (delta, s->block_line_section)); + for (i = 0; i < BLOCKVECTOR_NBLOCKS (bv); ++i) { struct block *b; @@ -579,9 +583,6 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets) b = BLOCKVECTOR_BLOCK (bv, i); BLOCK_START (b) += ANOFFSET (delta, s->block_line_section); BLOCK_END (b) += ANOFFSET (delta, s->block_line_section); - if (BLOCKVECTOR_MAP (bv)) - addrmap_relocate (BLOCKVECTOR_MAP (bv), - ANOFFSET (delta, s->block_line_section)); ALL_BLOCK_SYMBOLS (b, iter, sym) {