diff options
author | Joel Brobecker <brobecker@gnat.com> | 2011-12-21 07:34:09 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2011-12-21 07:34:09 +0000 |
commit | bb2f58dc41241652af78a29619c0a7986669bcd3 (patch) | |
tree | 9e346ba08049ee709b119afa92fb9f4e16b38480 /gdb/symfile.h | |
parent | 53907c915d3736e1859c3c0af66d713baf6fe6bd (diff) | |
download | gdb-bb2f58dc41241652af78a29619c0a7986669bcd3.zip gdb-bb2f58dc41241652af78a29619c0a7986669bcd3.tar.gz gdb-bb2f58dc41241652af78a29619c0a7986669bcd3.tar.bz2 |
Use symbol search name in expand_symtabs_matching_via_partial...
We are iterating over all symbols in a partial symtab that would
match a given name, so we should match the partial symbols
search name against the given name rather than using the natural
name. In C++, that does not make a difference, but it does in
Ada, because Ada searches using the symbol encoded name...
We also update the generation of the .gdb_index file to match this
change in the search. Although technically an incompatible change,
we do not increment the gdb_index version number, because Ada is
the only language where it would make a difference - except that
this feature is not supported for Ada.
gdb/ChangeLog:
* psymtab.c (expand_symtabs_matching_via_partial): Match
the partial symbols using their SYMBOL_SEARCH_NAME.
* symfile.h (struct quick_symbol_functions): Udate the
documentation of expand_symtabs_matching.
* dwarf2read.c (write_psymbols): Use SYMBOL_SEARCH_NAME instead
of SYMBOL_NATURAL_NAME in index entry.
Diffstat (limited to 'gdb/symfile.h')
-rw-r--r-- | gdb/symfile.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gdb/symfile.h b/gdb/symfile.h index 44f0c01..91605a2 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -263,10 +263,9 @@ struct quick_symbol_functions If even KIND matches, then NAME_MATCHER is called for each symbol defined in the file. The current language, the symbol name and - DATA are passed to NAME_MATCHER. The symbol "natural" name should - be passed to NAME_MATCHER for all languages except Ada, where - the encoded name is passed instead (see la_symbol_name_compare in - struct language_defn for more details on this). + DATA are passed to NAME_MATCHER. The symbol "search" name should + be passed to NAME_MATCHER (see la_symbol_name_compare in struct + language_defn for more details on this). If NAME_MATCHER returns zero, then this symbol is skipped. |