[gdb/testsuite] Fix gdb.python/py-breakpoint.exp with libstdc++ debug info
authorTom de Vries <tdevries@suse.de>
Mon, 2 Jan 2023 10:59:17 +0000 (11:59 +0100)
committerTom de Vries <tdevries@suse.de>
Mon, 2 Jan 2023 10:59:17 +0000 (11:59 +0100)
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

gdb/testsuite/gdb.python/py-breakpoint.exp

index 397e4b31309d0fe63e3c0b17ff1e3c3cd8939e58..49c097952063537b9f9c71f17cb6f6eb7cf90943 100644 (file)
@@ -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)" \