[Bug gdb/26598] New: skip compares pattern against mangled name

simark at simark dot ca sourceware-bugzilla@sourceware.org
Thu Sep 10 14:59:46 GMT 2020


https://sourceware.org/bugzilla/show_bug.cgi?id=26598

            Bug ID: 26598
           Summary: skip compares pattern against mangled name
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: simark at simark dot ca
  Target Milestone: ---

This commit introduced a regression:

commit bcfe6157ca288efed127c5efe21ad7924e0d98cf
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Apr 24 15:35:01 2020 -0600

    Use the linkage name if it exists

Before this, skip function entries are compared against the demangled name,
after this commit they are compared against the mangled name.

I'm using this C++ test file:

1 #include <vector>
2 int main ()
3 {
4   std::vector<int> vec(10);
5 }

Behavior before:

(gdb) b 4
Breakpoint 1 at 0x40082a: file test.cpp, line 4.
(gdb) r
Starting program: /home/smarchi/build/binutils-gdb/gdb/a.out 

Breakpoint 1, main () at test.cpp:4
4         std::vector<int> vec(10);
(gdb) skip -rfu ^std::
Function(s) ^std:: will be skipped when stepping.
(gdb) set debug skip on
(gdb) s
skip: checking if function std::allocator<int>::allocator() matches regex
^std::...yes.
skip: checking if function std::vector<int, std::allocator<int>
>::vector(unsigned long, std::allocator<int> const&) matches regex
^std::...yes.
skip: checking if function std::allocator<int>::~allocator() matches regex
^std::...yes.
skip: checking if function std::vector<int, std::allocator<int> >::~vector()
matches regex ^std::...yes.
5       }

Behavior after:

(gdb) b 4
Breakpoint 1 at 0x40082a: file test.cpp, line 4.
(gdb) r
Starting program: /home/smarchi/build/binutils-gdb/gdb/a.out 

Breakpoint 1, main () at test.cpp:4
4         std::vector<int> vec(10);
(gdb) skip -rfu ^std::
Function(s) ^std:: will be skipped when stepping.
(gdb) set debug skip on
(gdb) s
skip: checking if function _ZNSaIiEC2Ev matches regex ^std::...no.
skip: checking if function _ZNSaIiEC2Ev matches regex ^std::...no.
std::allocator<int>::allocator (this=0x7fffffffe26f) at
/usr/include/c++/9/bits/allocator.h:138
138           allocator() _GLIBCXX_NOTHROW { }

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Gdb-prs mailing list