[binutils-gdb] [gdb/testsuite] Fix gdb.python/py-breakpoint.exp with libstdc++ debug info

Tom de Vries vries@sourceware.org
Mon Jan 2 10:59:21 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b9877acc81ade609c503bbcff064e09d3e290a84

commit b9877acc81ade609c503bbcff064e09d3e290a84
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jan 2 11:59:17 2023 +0100

    [gdb/testsuite] Fix gdb.python/py-breakpoint.exp with libstdc++ debug info
    
    On x86_64-linux, I run into:
    ...
    (gdb) python hbp1 = gdb.Breakpoint("add", type=gdb.BP_HARDWARE_BREAKPOINT)^M
    Hardware assisted breakpoint 2 at 0x40072e: add. (7 locations)^M
    (gdb) FAIL: gdb.python/py-breakpoint.exp: test_hardware_breakpoints: \
      Set hardware breakpoint
    ...
    due to libstdc++ debug info:
    ...
    $ gdb -q -batch outputs/gdb.python/py-breakpoint/py-breakpoint \
      -ex start \
      -ex "b add" \
      -ex "info break"
    Temporary breakpoint 1 at 0x40076a: file py-breakpoint.c, line 50.
    
    Temporary breakpoint 1, main (argc=1, argv=$hex) at py-breakpoint.c:50
    50        int foo = 5;
    Breakpoint 2 at 0x40072e: add. (7 locations)
    Num     Type           Disp Enb Address            What
    2       breakpoint     keep y   <MULTIPLE>
    2.1                         y   0x000000000040072e in add(int) at \
      py-breakpoint.c:39
    2.2                         y   0x00007ffff7b131de in \
      (anonymous namespace)::fast_float::bigint::add at \
      ../../../../../libstdc++-v3/src/c++17/fast_float/fast_float.h:1815
      ...
    2.7                         y   0x00007ffff7b137e4 in \
      (anonymous namespace)::fast_float::bigint::add at \
      ../../../../../libstdc++-v3/src/c++17/fast_float/fast_float.h:1815
    ...
    
    Fix this by using qualified=True.
    
    Tested on x86_64-linux.
    PR testsuite/29910
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29910

Diff:
---
 gdb/testsuite/gdb.python/py-breakpoint.exp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.python/py-breakpoint.exp b/gdb/testsuite/gdb.python/py-breakpoint.exp
index 397e4b31309..49c09795206 100644
--- a/gdb/testsuite/gdb.python/py-breakpoint.exp
+++ b/gdb/testsuite/gdb.python/py-breakpoint.exp
@@ -271,7 +271,8 @@ proc_with_prefix test_hardware_breakpoints { } {
 
     delete_breakpoints
 
-    gdb_test "python hbp1 = gdb.Breakpoint(\"add\", type=gdb.BP_HARDWARE_BREAKPOINT)" \
+    set bp_args {"add", type=gdb.BP_HARDWARE_BREAKPOINT, qualified=True}
+    gdb_test "python hbp1 = gdb.Breakpoint($bp_args)" \
 	".*Hardware assisted breakpoint ($decimal)+ at .*$srcfile, line ($decimal)+\." \
 	"Set hardware breakpoint"
     gdb_test "python print (gdb.breakpoints()\[0\].type == gdb.BP_HARDWARE_BREAKPOINT)" \


More information about the Gdb-cvs mailing list