aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfiles.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2019-01-10 13:57:08 -0800
committerKeith Seitz <keiths@redhat.com>2019-01-10 13:57:08 -0800
commitb026f59345a336cabf74719fce9f96cab7c7ab4d (patch)
tree206e3e42bdc820ddd089ef01bcefb4b73a936460 /gdb/objfiles.c
parentc7748ee9ceb5a394658cd07aeb0445924599e442 (diff)
downloadgdb-b026f59345a336cabf74719fce9f96cab7c7ab4d.zip
gdb-b026f59345a336cabf74719fce9f96cab7c7ab4d.tar.gz
gdb-b026f59345a336cabf74719fce9f96cab7c7ab4d.tar.bz2
gdb/23712: Use new multidictionary API
This patch builds on the previous by enabling the `new' multidictionary API. A lot of the hunks are simply textual replacements of "dict_" with "mdict_" and similar transformations. A word of warning, even with the use of multidictionaries, the code still does not satisfactorily fix the reported problems with gdb/23712 (or gdb/23010). We still have additional changes to make before that happens. gdb/ChangeLog: PR gdb/23712 PR symtab/23010 * dictionary.h (struct dictionary): Replace declaration with multidictionary. (dict_create_hashed, dict_create_hashed_expandable) (dict_create_linear, dict_create_linear_expandable) (dict_free, dict_add_symbol, dict_add_pending, dict_empty) (dict_iterator_first, dict_iterator_next, dict_iter_match_first) (dict_iter_match_next, dict_size): Rename to "mdict_" versions taking multidictionary argument. [ALL_DICT_SYMBOLS]: Update for multidictionary. * block.h (struct block) <dict>: Change to multidictionary and rename `multidict'. * block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c, symmisc.c: Update all dictionary references to multidictionary.
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r--gdb/objfiles.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 255a3d6..854e87d 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -818,7 +818,7 @@ objfile_relocate1 (struct objfile *objfile,
{
struct block *b;
struct symbol *sym;
- struct dict_iterator iter;
+ struct mdict_iterator miter;
b = BLOCKVECTOR_BLOCK (bv, i);
BLOCK_START (b) += ANOFFSET (delta, block_line_section);
@@ -835,7 +835,7 @@ objfile_relocate1 (struct objfile *objfile,
/* We only want to iterate over the local symbols, not any
symbols in included symtabs. */
- ALL_DICT_SYMBOLS (BLOCK_DICT (b), iter, sym)
+ ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (b), miter, sym)
{
relocate_one_symbol (sym, objfile, delta);
}