aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2020-09-16 09:49:36 -0600
committerTom Tromey <tromey@adacore.com>2020-09-16 13:32:38 -0600
commitfe83066292c6aaa8227b2d38c343379a209cb4ba (patch)
tree071b6b70a270f85afc58a8a93dc10fd4ba71da7c /gdb/infrun.c
parentfe5ddfc3ee21789ec2bdffbe48f6b7cfe730dca7 (diff)
downloadgdb-fe83066292c6aaa8227b2d38c343379a209cb4ba.zip
gdb-fe83066292c6aaa8227b2d38c343379a209cb4ba.tar.gz
gdb-fe83066292c6aaa8227b2d38c343379a209cb4ba.tar.bz2
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 <tromey@adacore.com> PR gdb/26598: * infrun.c (fill_in_stop_func): Use find_pc_partial_function_sym. gdb/testsuite/ChangeLog 2020-09-16 Tom Tromey <tromey@adacore.com> PR gdb/26598: * gdb.base/skipcxx.exp: New file. * gdb.base/skipcxx.cc: New file.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c12
1 files changed, 7 insertions, 5 deletions
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