diff options
author | Gary Benson <gbenson@redhat.com> | 2015-01-31 14:45:26 -0800 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2015-01-31 14:45:26 -0800 |
commit | 276d885b572b12221f639641846ab94ef9582995 (patch) | |
tree | 979dd34e3f0f20d27e1bf1b7227b25bde3b17ff1 /gdb/symfile.h | |
parent | 5dd31d7995882a43fab9b35b11775499126d7bd8 (diff) | |
download | gdb-276d885b572b12221f639641846ab94ef9582995.zip gdb-276d885b572b12221f639641846ab94ef9582995.tar.gz gdb-276d885b572b12221f639641846ab94ef9582995.tar.bz2 |
new callback parameter expansion_notify for expand_symtabs_matching
This commit adds a new callback parameter, "expansion_notify", to the
top-level expand_symtabs_matching function and to all the vectorized
functions it defers to. If expansion_notify is non-NULL, it will be
called every time a symbol table is expanded.
gdb/ChangeLog:
* symfile.h (expand_symtabs_exp_notify_ftype): New typedef.
(struct quick_symbol_functions) <expand_symtabs_matching>:
New argument expansion_notify. All uses updated.
(expand_symtabs_matching): New argument expansion_notify.
All uses updated.
* symfile-debug.c (debug_qf_expand_symtabs_matching):
Also print expansion notify.
* symtab.c (expand_symtabs_matching_via_partial): Call
expansion_notify whenever a partial symbol table is expanded.
* dwarf2read.c (dw2_expand_symtabs_matching): Call
expansion_notify whenever a symbol table is instantiated.
Diffstat (limited to 'gdb/symfile.h')
-rw-r--r-- | gdb/symfile.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/symfile.h b/gdb/symfile.h index 380bd0e..d5ae4ad 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -137,6 +137,12 @@ typedef int (expand_symtabs_file_matcher_ftype) (const char *filename, typedef int (expand_symtabs_symbol_matcher_ftype) (const char *name, void *data); +/* Callback for quick_symbol_functions->expand_symtabs_matching + to be called after a symtab has been expanded. */ + +typedef void (expand_symtabs_exp_notify_ftype) \ + (struct compunit_symtab *symtab, void *data); + /* The "quick" symbol functions exist so that symbol readers can avoiding an initial read of all the symbols. For example, symbol readers might choose to use the "partial symbol table" utilities, @@ -282,6 +288,7 @@ struct quick_symbol_functions (struct objfile *objfile, expand_symtabs_file_matcher_ftype *file_matcher, expand_symtabs_symbol_matcher_ftype *symbol_matcher, + expand_symtabs_exp_notify_ftype *expansion_notify, enum search_domain kind, void *data); @@ -569,6 +576,7 @@ extern struct cleanup *increment_reading_symtab (void); void expand_symtabs_matching (expand_symtabs_file_matcher_ftype *, expand_symtabs_symbol_matcher_ftype *, + expand_symtabs_exp_notify_ftype *, enum search_domain kind, void *data); void map_symbol_filenames (symbol_filename_ftype *fun, void *data, |