diff options
author | Tom Tromey <tromey@redhat.com> | 2013-08-05 15:51:02 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-08-05 15:51:02 +0000 |
commit | 7c7b66552d1cca8a2d2519232f26643dbcb6300a (patch) | |
tree | 6a89fb80425d84b6e33600203b67e83cb72bc273 /gdb/ChangeLog | |
parent | 6e8c566101d0cb885568e2326d9d2751d97c70b6 (diff) | |
download | gdb-7c7b66552d1cca8a2d2519232f26643dbcb6300a.zip gdb-7c7b66552d1cca8a2d2519232f26643dbcb6300a.tar.gz gdb-7c7b66552d1cca8a2d2519232f26643dbcb6300a.tar.bz2 |
remove msymbol_objfile
This is another patch in my ongoing series to "split" objfile to share
more read-only data across inferiors. See
http://sourceware.org/gdb/wiki/ObjfileSplitting
When symbols are finally shared, there will be no back-link from the
symbol to its containing objfile, because there may be more than one
such objfile. So, all such back-links must be removed.
One hidden back-link is the msymbol_objfile function. Since
(eventually) a symbol may appear in more than one objfile, trying to
look up the objfile given just a symbol cannot work.
This patch removes msymbol_objfile in favor of using a bound minimal
symbol. It introduces a new function to make this conversion simpler
in some spots.
The bonus of this patch is that using msymbol_objfile is slower than
simply looking up the owning objfile in the first place.
Built and regtested on x86-64 Fedora 18.
* ada-exp.y (write_var_or_type): Use bound_minimal_symbol.
* ada-lang.c (ada_lookup_simple_minsym): Return
bound_minimal_symbol.
* ada-lang.h (ada_lookup_simple_minsym): Update.
* c-exp.y (variable): Use lookup_bound_minimal_symbol.
* f-exp.y (variable): Use lookup_bound_minimal_symbol.
* go-exp.y (variable): Use lookup_bound_minimal_symbol.
* jv-exp.y (push_expression_name): Use lookup_bound_minimal_symbol.
* m2-exp.y (variable): Use lookup_bound_minimal_symbol.
* minsyms.c (msymbol_objfile): Remove.
(lookup_minimal_symbol_internal): New function, from
lookup_minimal_symbol.
(lookup_minimal_symbol): Rewrite using
lookup_minimal_symbol_internal.
(lookup_bound_minimal_symbol): New function.
* minsyms.h (msymbol_objfile): Remove.
(lookup_bound_minimal_symbol): Declare.
* p-exp.y (variable): Use lookup_bound_minimal_symbol.
* parse.c (write_exp_msymbol): Change parameter to a
bound_minimal_symbol.
(write_dollar_variable): Use lookup_bound_minimal_symbol.
* parser-defs.h (write_exp_msymbol): Update.
* printcmd.c (address_info): Use lookup_bound_minimal_symbol.
* symfile.c (simple_read_overlay_table): Use
lookup_bound_minimal_symbol.
* symtab.c (skip_prologue_sal): Don't use msymbol_objfile.
(search_symbols): Likewise.
(print_msymbol_info): Take a bound_minimal_symbol argument.
(symtab_symbol_info, rbreak_command): Update.
* symtab.h (struct symbol_search) <msymbol>: Change type
to bound_minimal_symbol.
* valops.c (find_function_in_inferior): Use
lookup_bound_minimal_symbol.
* value.c (value_fn_field): Use lookup_bound_minimal_symbol.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2a7773c..5da081f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,40 @@ +2013-08-05 Tom Tromey <tromey@redhat.com> + + * ada-exp.y (write_var_or_type): Use bound_minimal_symbol. + * ada-lang.c (ada_lookup_simple_minsym): Return + bound_minimal_symbol. + * ada-lang.h (ada_lookup_simple_minsym): Update. + * c-exp.y (variable): Use lookup_bound_minimal_symbol. + * f-exp.y (variable): Use lookup_bound_minimal_symbol. + * go-exp.y (variable): Use lookup_bound_minimal_symbol. + * jv-exp.y (push_expression_name): Use lookup_bound_minimal_symbol. + * m2-exp.y (variable): Use lookup_bound_minimal_symbol. + * minsyms.c (msymbol_objfile): Remove. + (lookup_minimal_symbol_internal): New function, from + lookup_minimal_symbol. + (lookup_minimal_symbol): Rewrite using + lookup_minimal_symbol_internal. + (lookup_bound_minimal_symbol): New function. + * minsyms.h (msymbol_objfile): Remove. + (lookup_bound_minimal_symbol): Declare. + * p-exp.y (variable): Use lookup_bound_minimal_symbol. + * parse.c (write_exp_msymbol): Change parameter to a + bound_minimal_symbol. + (write_dollar_variable): Use lookup_bound_minimal_symbol. + * parser-defs.h (write_exp_msymbol): Update. + * printcmd.c (address_info): Use lookup_bound_minimal_symbol. + * symfile.c (simple_read_overlay_table): Use + lookup_bound_minimal_symbol. + * symtab.c (skip_prologue_sal): Don't use msymbol_objfile. + (search_symbols): Likewise. + (print_msymbol_info): Take a bound_minimal_symbol argument. + (symtab_symbol_info, rbreak_command): Update. + * symtab.h (struct symbol_search) <msymbol>: Change type + to bound_minimal_symbol. + * valops.c (find_function_in_inferior): Use + lookup_bound_minimal_symbol. + * value.c (value_fn_field): Use lookup_bound_minimal_symbol. + 2013-08-05 Jan Kratochvil <jan.kratochvil@redhat.com> Code cleanup. |