diff options
author | Tom Tromey <tom@tromey.com> | 2018-05-03 16:36:17 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-07-26 09:18:29 -0600 |
commit | 8a6d4234503bfe1c656d8cd335cac828507df9a3 (patch) | |
tree | 39e3fcfa8399f9b70aaad86632292cc2f474348f /gdb/ChangeLog | |
parent | 08994e1ddcc8e5e1e003602409662ae799a1ff30 (diff) | |
download | gdb-8a6d4234503bfe1c656d8cd335cac828507df9a3.zip gdb-8a6d4234503bfe1c656d8cd335cac828507df9a3.tar.gz gdb-8a6d4234503bfe1c656d8cd335cac828507df9a3.tar.bz2 |
Change representation of psymbol to flush out accessors
This is the psymbol analog to the patch to change the representation
of minimal symbols:
https://sourceware.org/ml/gdb-patches/2013-10/msg00524.html
It has the same rationale: namely, that we're going to change the code
to apply psymbol offsets at runtime. This will be done by adding an
argument to the SYMBOL_VALUE_ADDRESS macro -- but since we can't
convert all the symbol types at once, we need a new approach.
Because gdb now is in C++, this patch changes partial_symbol to
inherit from general_symbol_info, rather than renaming the field.
This simplifies code in some places.
Also, as noted before, these macros implement a kind of "phony
polymorphism" that is not actually useful in practice; so this patch
removes the macros in favor of simply referring directly to members.
In a few cases -- obj_section in this patch and the symbol address in
the future -- methods will be used instead.
Note that this removes the blanket memset from add_psymbol_to_bcache.
This hasn't really been needed since bcache was modified to allow
holes in objects and since psymtab took advantage of that. This
deletion was required due to changing partial_symbol to derive from
general_symbol_info.
gdb/ChangeLog
2018-07-26 Tom Tromey <tom@tromey.com>
* dwarf-index-write.c (write_psymbols, debug_names::insert)
(debug_names::write_psymbols): Update.
* psympriv.h (struct partial_symbol): Derive from
general_symbol_info.
<obj_section>: New method.
(PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
* psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
(find_pc_sect_psymbol, fixup_psymbol_section)
(match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
(print_partial_symbols, recursively_search_psymtabs)
(compare_psymbols, psymbol_hash, psymbol_compare)
(add_psymbol_to_bcache, maintenance_check_psymtabs)
(psymbol_name_matches, psym_fill_psymbol_map): Update.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4c2058d..c6df5eb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,19 @@ +2018-07-26 Tom Tromey <tom@tromey.com> + + * dwarf-index-write.c (write_psymbols, debug_names::insert) + (debug_names::write_psymbols): Update. + * psympriv.h (struct partial_symbol): Derive from + general_symbol_info. + <obj_section>: New method. + (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n + * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab) + (find_pc_sect_psymbol, fixup_psymbol_section) + (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs) + (print_partial_symbols, recursively_search_psymtabs) + (compare_psymbols, psymbol_hash, psymbol_compare) + (add_psymbol_to_bcache, maintenance_check_psymtabs) + (psymbol_name_matches, psym_fill_psymbol_map): Update. + 2018-07-26 Tom Tromey <tromey@redhat.com> * dbxread.c (end_psymtab): Remove dead code. |