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.
This commit is contained in:
parent
c7748ee9ce
commit
b026f59345
9 changed files with 125 additions and 107 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue