diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-02-03 16:20:20 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-02-03 16:20:20 +0000 |
commit | fbd9ab743390e50f3f829f4d634deb931cc2b819 (patch) | |
tree | 0cc29024ce3314c46ba19bed5702e4f86ab6f0c8 /gdb/symfile.h | |
parent | 56d397a3824d826cdbaa02dba633bd86da6308c5 (diff) | |
download | gdb-fbd9ab743390e50f3f829f4d634deb931cc2b819.zip gdb-fbd9ab743390e50f3f829f4d634deb931cc2b819.tar.gz gdb-fbd9ab743390e50f3f829f4d634deb931cc2b819.tar.bz2 |
gdb/
* dwarf2read.c (dw2_expand_symtabs_matching): Add basenames parameter
to the file_matcher parameter. Pass 0 to it.
(dwarf2_create_include_psymtab): Copy also DIRNAME.
* psymtab.c (partial_map_symtabs_matching_filename): Drop handling of
NULL psymtab_to_fullname result.
(psymtab_to_fullname): Remove variable r. Never return NULL, assemble
an expected filename instead.
(expand_symtabs_matching_via_partial): Add basenames parameter to the
file_matcher parameter. Call also psymtab_to_fullname, after newly
considering BASENAMES_MAY_DIFFER.
* source.c (rewrite_source_path): Remove static.
* source.h (rewrite_source_path): New declaration.
* symfile.h (struct quick_symbol_functions): Add basenames parameter to
the expand_symtabs_matching field. Comment it.
* symtab.c (file_matches): New function comment. Add parameter
basenames, implement it.
(search_symbols_file_matches): Add basenames parameter. Update the
file_matches caller.
(search_symbols): Match FILES also against symtab_to_fullname.
Optimize it for BASENAMES_MAY_DIFFER.
gdb/testsuite/
* gdb.base/fullpath-expand-func.c: New file.
* gdb.base/fullpath-expand.c: New file.
* gdb.base/fullpath-expand.exp: New file.
* gdb.base/realname-expand-real.c: New file.
* gdb.base/realname-expand.c: New file.
* gdb.base/realname-expand.exp: New file.
Diffstat (limited to 'gdb/symfile.h')
-rw-r--r-- | gdb/symfile.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/symfile.h b/gdb/symfile.h index 2a0d656..6d6b4b8 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -255,6 +255,8 @@ struct quick_symbol_functions FILE_MATCHER is called for each file in OBJFILE. The file name and the DATA argument are passed to it. If it returns zero, this file is skipped. If FILE_MATCHER is NULL such file is not skipped. + If BASENAMES is non-zero the function should consider only base name of + DATA (passed file name is already only the lbasename part). Otherwise, if KIND does not match this symbol is skipped. @@ -270,7 +272,7 @@ struct quick_symbol_functions functions. */ void (*expand_symtabs_matching) (struct objfile *objfile, - int (*file_matcher) (const char *, void *), + int (*file_matcher) (const char *, void *, int basenames), int (*name_matcher) (const char *, void *), enum search_domain kind, void *data); |