diff options
author | Tom Tromey <tromey@adacore.com> | 2020-09-16 09:49:36 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-09-16 13:32:38 -0600 |
commit | fe83066292c6aaa8227b2d38c343379a209cb4ba (patch) | |
tree | 071b6b70a270f85afc58a8a93dc10fd4ba71da7c /gdb/infrun.c | |
parent | fe5ddfc3ee21789ec2bdffbe48f6b7cfe730dca7 (diff) | |
download | binutils-fe83066292c6aaa8227b2d38c343379a209cb4ba.zip binutils-fe83066292c6aaa8227b2d38c343379a209cb4ba.tar.gz binutils-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.c | 12 |
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 |