diff options
author | Keith Seitz <keiths@redhat.com> | 2019-01-10 13:57:08 -0800 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2019-01-10 13:57:08 -0800 |
commit | b026f59345a336cabf74719fce9f96cab7c7ab4d (patch) | |
tree | 206e3e42bdc820ddd089ef01bcefb4b73a936460 /gdb/symmisc.c | |
parent | c7748ee9ceb5a394658cd07aeb0445924599e442 (diff) | |
download | gdb-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/symmisc.c')
-rw-r--r-- | gdb/symmisc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/symmisc.c b/gdb/symmisc.c index f798c6f..92c054c 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -276,7 +276,7 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile) struct objfile *objfile = SYMTAB_OBJFILE (symtab); struct gdbarch *gdbarch = get_objfile_arch (objfile); int i; - struct dict_iterator iter; + struct mdict_iterator miter; int len; struct linetable *l; const struct blockvector *bv; @@ -332,7 +332,7 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile) even if we're using a hashtable, but nothing else but this message wants it. */ fprintf_filtered (outfile, ", %d syms/buckets in ", - dict_size (BLOCK_DICT (b))); + mdict_size (BLOCK_MULTIDICT (b))); fputs_filtered (paddress (gdbarch, BLOCK_START (b)), outfile); fprintf_filtered (outfile, ".."); fputs_filtered (paddress (gdbarch, BLOCK_END (b)), outfile); @@ -350,7 +350,7 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile) /* Now print each symbol in this block (in no particular order, if we're using a hashtable). Note that we only want this block, not any blocks from included symtabs. */ - ALL_DICT_SYMBOLS (BLOCK_DICT (b), iter, sym) + ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (b), miter, sym) { TRY { |