From fe83066292c6aaa8227b2d38c343379a209cb4ba Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 16 Sep 2020 09:49:36 -0600 Subject: Match demangled name in "skip" PR gdb/26598 notes that, before commit bcfe6157ca28 ("Use the linkage name if it exists"), the "skip" command would match the demangled name of a symbol, but now only matches the linkage name. This patch fixes this regression. I looked at all calls to function_name_is_marked_for_skip, and only one used the linkage name. 2020-09-16 Tom Tromey PR gdb/26598: * infrun.c (fill_in_stop_func): Use find_pc_partial_function_sym. gdb/testsuite/ChangeLog 2020-09-16 Tom Tromey PR gdb/26598: * gdb.base/skipcxx.exp: New file. * gdb.base/skipcxx.cc: New file. --- gdb/infrun.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gdb/infrun.c') diff --git a/gdb/infrun.c b/gdb/infrun.c index 5773fd0..780d5bc 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4358,14 +4358,16 @@ fill_in_stop_func (struct gdbarch *gdbarch, if (!ecs->stop_func_filled_in) { const block *block; + const general_symbol_info *gsi; /* Don't care about return value; stop_func_start and stop_func_name will both be 0 if it doesn't work. */ - find_pc_partial_function (ecs->event_thread->suspend.stop_pc, - &ecs->stop_func_name, - &ecs->stop_func_start, - &ecs->stop_func_end, - &block); + find_pc_partial_function_sym (ecs->event_thread->suspend.stop_pc, + &gsi, + &ecs->stop_func_start, + &ecs->stop_func_end, + &block); + ecs->stop_func_name = gsi == nullptr ? nullptr : gsi->print_name (); /* The call to find_pc_partial_function, above, will set stop_func_start and stop_func_end to the start and end -- cgit v1.1