From 642a8d806780150b62e3a0381a8d995212bdf442 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Fri, 5 Dec 2014 00:53:56 -0800 Subject: [PATCH] Revert: linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp. This patch causes regressions in ada's operator_bp.exp test. That's because it uses wild_match which expects arguments in the original order. There is still a bug here. It's hard to see because either minsyms save the day, or the needed symtab gets expanded before linespecs need it because of the call to cp_canonicalize_string_no_typedefs in linespec.c:find_linespec_symbols. But if you disable both of those things, then the bug is visible. bash$ ./gdb -D ./data-directory testsuite/gdb.cp/anon-ns (gdb) b doit(void) Function "doit(void)" not defined. gdb/ChangeLog: Revert: PR symtab/17602 * linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp. --- gdb/ChangeLog | 6 ++++++ gdb/linespec.c | 7 +------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8023f03179f..c73f185c1dc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2014-12-05 Doug Evans + + Revert: + PR symtab/17602 + * linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp. + 2014-12-04 Doug Evans * NEWS: Mention gdb.Objfile.add_separate_debug_file. diff --git a/gdb/linespec.c b/gdb/linespec.c index af958dc9f37..82384cab620 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -982,12 +982,7 @@ iterate_name_matcher (const char *name, void *d) { const struct symbol_matcher_data *data = d; - /* The order of arguments we pass to symbol_name_cmp is important as - strcmp_iw, a typical value for symbol_name_cmp, only performs special - processing of '(' to remove overload info on the first argument and not - the second. The first argument is what the user provided, the second - argument is what came from partial syms / .gdb_index. */ - if (data->symbol_name_cmp (data->lookup_name, name) == 0) + if (data->symbol_name_cmp (name, data->lookup_name) == 0) return 1; /* Expand this symbol's symbol table. */ return 0; /* Skip this symbol. */ }