diff options
author | Tom Tromey <tom@tromey.com> | 2023-03-07 16:24:11 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2023-03-11 08:48:10 -0700 |
commit | 82c5090c61ed2a4a6cd37e575ae66323e0a837f7 (patch) | |
tree | 7fccbf8f5d86af118febffc0736db8168a0cfeae /gdb | |
parent | 977a0c161de83a5e5397f9f7950d58173c4b4be2 (diff) | |
download | gdb-82c5090c61ed2a4a6cd37e575ae66323e0a837f7.zip gdb-82c5090c61ed2a4a6cd37e575ae66323e0a837f7.tar.gz gdb-82c5090c61ed2a4a6cd37e575ae66323e0a837f7.tar.bz2 |
Remove extra scopes from objfile_relocate1
objfile_relocate1 introduces new scopes that aren't necessary. I
noticed this while working on an earlier patch in this series. This
patch removes these.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/objfiles.c | 76 |
1 files changed, 33 insertions, 43 deletions
diff --git a/gdb/objfiles.c b/gdb/objfiles.c index 2c8f5d1..21ec8c7 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -615,53 +615,43 @@ objfile_relocate1 (struct objfile *objfile, return 0; /* OK, get all the symtabs. */ - { - for (compunit_symtab *cust : objfile->compunits ()) - { - struct blockvector *bv = cust->blockvector (); - int block_line_section = SECT_OFF_TEXT (objfile); - - if (bv->map () != nullptr) - bv->map ()->relocate (delta[block_line_section]); - - for (block *b : bv->blocks ()) - { - struct symbol *sym; - struct mdict_iterator miter; - - b->set_start (b->start () + delta[block_line_section]); - b->set_end (b->end () + delta[block_line_section]); - - for (blockrange &r : b->ranges ()) - { - r.set_start (r.start () + delta[block_line_section]); - r.set_end (r.end () + delta[block_line_section]); - } - - /* We only want to iterate over the local symbols, not any - symbols in included symtabs. */ - ALL_DICT_SYMBOLS (b->multidict (), miter, sym) - { - relocate_one_symbol (sym, objfile, delta); - } - } - } - } + for (compunit_symtab *cust : objfile->compunits ()) + { + struct blockvector *bv = cust->blockvector (); + int block_line_section = SECT_OFF_TEXT (objfile); - /* Relocate isolated symbols. */ - { - struct symbol *iter; + if (bv->map () != nullptr) + bv->map ()->relocate (delta[block_line_section]); - for (iter = objfile->template_symbols; iter; iter = iter->hash_next) - relocate_one_symbol (iter, objfile, delta); - } + for (block *b : bv->blocks ()) + { + struct symbol *sym; + struct mdict_iterator miter; - { - int i; + b->set_start (b->start () + delta[block_line_section]); + b->set_end (b->end () + delta[block_line_section]); - for (i = 0; i < objfile->section_offsets.size (); ++i) - objfile->section_offsets[i] = new_offsets[i]; - } + for (blockrange &r : b->ranges ()) + { + r.set_start (r.start () + delta[block_line_section]); + r.set_end (r.end () + delta[block_line_section]); + } + + /* We only want to iterate over the local symbols, not any + symbols in included symtabs. */ + ALL_DICT_SYMBOLS (b->multidict (), miter, sym) + { + relocate_one_symbol (sym, objfile, delta); + } + } + } + + /* Relocate isolated symbols. */ + for (symbol *iter = objfile->template_symbols; iter; iter = iter->hash_next) + relocate_one_symbol (iter, objfile, delta); + + for (int i = 0; i < objfile->section_offsets.size (); ++i) + objfile->section_offsets[i] = new_offsets[i]; /* Rebuild section map next time we need it. */ get_objfile_pspace_data (objfile->pspace)->section_map_dirty = 1; |