From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 8C8FB3857038 for ; Thu, 19 May 2022 13:08:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8C8FB3857038 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-417-edAu7WrqNKW1OAD8Jcb88g-1; Thu, 19 May 2022 09:08:19 -0400 X-MC-Unique: edAu7WrqNKW1OAD8Jcb88g-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8501E8015BA; Thu, 19 May 2022 13:08:18 +0000 (UTC) Received: from [10.97.116.126] (ovpn-116-126.gru2.redhat.com [10.97.116.126]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AD2002026D6A; Thu, 19 May 2022 13:08:17 +0000 (UTC) Message-ID: Date: Thu, 19 May 2022 10:08:15 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH v2] gdb: Modify the output of "info breakpoints" and "delete breakpoints" To: Tiezhu Yang , gdb-patches@sourceware.org References: <1652951760-10805-1-git-send-email-yangtiezhu@loongson.cn> From: Bruno Larsen In-Reply-To: <1652951760-10805-1-git-send-email-yangtiezhu@loongson.cn> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 May 2022 13:08:27 -0000 On 5/19/22 06:16, Tiezhu Yang wrote: > The output of "info breakpoints" includes breakpoint, watchpoint, > tracepoint and catchpoint, after delete all breakpoints, it should > show tracepoint and catchpoint in the output of "info breakpoints" > to report empty list. > > It should also change the output of "delete breakpoints" to make it > clear that watchpoints, tracepoints and catchpoints are also being > deleted. This is suggested by Bruno Larsen, thank you. > > $ make check-gdb TESTS="gdb.base/access-mem-running.exp" > $ gdb/gdb gdb/testsuite/outputs/gdb.base/access-mem-running/access-mem-running > [...] > (gdb) break main > Breakpoint 1 at 0x12000073c: file /home/loongson/gdb.git/gdb/testsuite/gdb.base/access-mem-running.c, line 32. > (gdb) watch global_counter > Hardware watchpoint 2: global_counter > (gdb) trace maybe_stop_here > Tracepoint 3 at 0x12000071c: file /home/loongson/gdb.git/gdb/testsuite/gdb.base/access-mem-running.c, line 27. > (gdb) catch fork > Catchpoint 4 (fork) > (gdb) info breakpoints > Num Type Disp Enb Address What > 1 breakpoint keep y 0x000000012000073c in main at /home/loongson/gdb.git/gdb/testsuite/gdb.base/access-mem-running.c:32 > 2 hw watchpoint keep y global_counter > 3 tracepoint keep y 0x000000012000071c in maybe_stop_here at /home/loongson/gdb.git/gdb/testsuite/gdb.base/access-mem-running.c:27 > not installed on target > 4 catchpoint keep y fork > > Without this patch: > > (gdb) delete breakpoints > Delete all breakpoints? (y or n) y > (gdb) info breakpoints > No breakpoints or watchpoints. > (gdb) info breakpoints 3 > No breakpoint or watchpoint matching '3'. > > With this patch: > > (gdb) delete breakpoints > Delete all breakpoints, watchpoints, tracepoints and catchpoints? (y or n) y > (gdb) info breakpoints > No breakpoints, watchpoints, tracepoints or catchpoints. > (gdb) info breakpoints 3 > No breakpoint, watchpoint, tracepoint or catchpoint matching '3'. > Hey Tiezhu, Thanks for this change, I'm fine with this patch. However, I can't approve patches to be pushed. Let's hope a maintainer shows up soon :-) Cheers! Bruno Larsen > Signed-off-by: Tiezhu Yang > --- > gdb/breakpoint.c | 16 ++++++++-------- > gdb/doc/gdb.texinfo | 17 +++++++++-------- > gdb/ppc-linux-nat.c | 2 +- > gdb/testsuite/gdb.arch/i386-dr3-watch.exp | 2 +- > gdb/testsuite/gdb.base/annota-input-while-running.exp | 2 +- > gdb/testsuite/gdb.base/break-unload-file.exp | 4 ++-- > gdb/testsuite/gdb.base/break.exp | 12 ++++++------ > gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp | 2 +- > .../gdb.base/continue-after-aborted-step-over.exp | 2 +- > gdb/testsuite/gdb.base/default.exp | 2 +- > gdb/testsuite/gdb.base/del.exp | 4 ++-- > gdb/testsuite/gdb.base/ena-dis-br.exp | 2 +- > gdb/testsuite/gdb.base/foll-fork.exp | 6 +++--- > gdb/testsuite/gdb.base/hbreak-unmapped.exp | 4 ++-- > gdb/testsuite/gdb.base/hbreak2.exp | 2 +- > gdb/testsuite/gdb.base/help.exp | 2 +- > gdb/testsuite/gdb.base/new-ui.exp | 8 ++++---- > gdb/testsuite/gdb.base/save-bp.exp | 8 ++++---- > gdb/testsuite/gdb.base/sepdebug.exp | 2 +- > gdb/testsuite/gdb.base/server-del-break.exp | 5 +++-- > gdb/testsuite/gdb.cp/annota2.exp | 4 ++-- > gdb/testsuite/gdb.cp/annota3.exp | 4 ++-- > gdb/testsuite/gdb.cp/ovldbreak.exp | 10 +++++----- > gdb/testsuite/gdb.cp/save-bp-qualified.exp | 4 ++-- > gdb/testsuite/gdb.dwarf2/dw2-inline-header-1.exp | 4 ++-- > gdb/testsuite/gdb.dwarf2/dw2-inline-header-2.exp | 8 ++++---- > gdb/testsuite/gdb.dwarf2/dw2-inline-header-3.exp | 4 ++-- > gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp | 4 ++-- > gdb/testsuite/gdb.guile/scm-breakpoint.exp | 6 +++--- > gdb/testsuite/gdb.linespec/cpexplicit.exp | 4 ++-- > gdb/testsuite/gdb.linespec/explicit.exp | 4 ++-- > gdb/testsuite/gdb.mi/mi-return.exp | 2 +- > gdb/testsuite/gdb.opt/inline-small-func.exp | 4 ++-- > gdb/testsuite/gdb.python/py-breakpoint.exp | 8 ++++---- > gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp | 2 +- > .../gdb.threads/continue-pending-after-query.exp | 2 +- > gdb/testsuite/gdb.threads/continue-pending-status.exp | 7 ++++--- > gdb/testsuite/gdb.threads/thread_check.exp | 4 ++-- > gdb/testsuite/lib/gdb.exp | 6 +++--- > gdb/testsuite/lib/mi-support.exp | 10 +++++----- > gdbserver/mem-break.cc | 7 ++++--- > gdbserver/mem-break.h | 7 ++++--- > 42 files changed, 112 insertions(+), 107 deletions(-) > > diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c > index 9abc144..52769e0 100644 > --- a/gdb/breakpoint.c > +++ b/gdb/breakpoint.c > @@ -6741,9 +6741,9 @@ breakpoint_1 (const char *bp_num_list, bool show_internal, > if (!filter) > { > if (bp_num_list == NULL || *bp_num_list == '\0') > - uiout->message ("No breakpoints or watchpoints.\n"); > + uiout->message ("No breakpoints, watchpoints, tracepoints or catchpoints.\n"); > else > - uiout->message ("No breakpoint or watchpoint matching '%s'.\n", > + uiout->message ("No breakpoint, watchpoint, tracepoint or catchpoint matching '%s'.\n", > bp_num_list); > } > } > @@ -12338,8 +12338,8 @@ delete_command (const char *arg, int from_tty) > { > int breaks_to_delete = 0; > > - /* Delete all breakpoints if no argument. Do not delete > - internal breakpoints, these have to be deleted with an > + /* Delete all breakpoints, watchpoints, tracepoints and catchpoints if no argument. > + Do not delete internal breakpoints, these have to be deleted with an > explicit breakpoint number argument. */ > for (breakpoint *b : all_breakpoints ()) > if (user_breakpoint_p (b)) > @@ -12350,7 +12350,7 @@ delete_command (const char *arg, int from_tty) > > /* Ask user only if there are some breakpoints to delete. */ > if (!from_tty > - || (breaks_to_delete && query (_("Delete all breakpoints? ")))) > + || (breaks_to_delete && query (_("Delete all breakpoints, watchpoints, tracepoints and catchpoints? ")))) > for (breakpoint *b : all_breakpoints_safe ()) > if (user_breakpoint_p (b)) > delete_breakpoint (b); > @@ -13843,7 +13843,7 @@ delete_trace_command (const char *arg, int from_tty) > { > int breaks_to_delete = 0; > > - /* Delete all breakpoints if no argument. > + /* Delete all tracepoints if no argument. > Do not delete internal or call-dummy breakpoints, these > have to be deleted with an explicit breakpoint number > argument. */ > @@ -14448,7 +14448,7 @@ This command may be abbreviated \"disable\"."), > Delete all or some breakpoints.\n\ > Usage: delete [BREAKPOINTNUM]...\n\ > Arguments are breakpoint numbers with spaces in between.\n\ > -To delete all breakpoints, give no argument.\n\ > +To delete all breakpoints, watchpoints, tracepoints and catchpoints, give no argument.\n\ > \n\ > Also a prefix command for deletion of other GDB objects."), > &deletelist, 1, &cmdlist); > @@ -14459,7 +14459,7 @@ Also a prefix command for deletion of other GDB objects."), > Delete all or some breakpoints or auto-display expressions.\n\ > Usage: delete breakpoints [BREAKPOINTNUM]...\n\ > Arguments are breakpoint numbers with spaces in between.\n\ > -To delete all breakpoints, give no argument.\n\ > +To delete all breakpoints, watchpoints, tracepoints and catchpoints, give no argument.\n\ > This command may be abbreviated \"delete\"."), > &deletelist); > > diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo > index 8cf9786..2c89815 100644 > --- a/gdb/doc/gdb.texinfo > +++ b/gdb/doc/gdb.texinfo > @@ -4545,15 +4545,15 @@ optionally be surrounded by spaces. > @cindex @code{$_} and @code{info breakpoints} > @item info breakpoints @r{[}@var{list}@dots{}@r{]} > @itemx info break @r{[}@var{list}@dots{}@r{]} > -Print a table of all breakpoints, watchpoints, and catchpoints set and > -not deleted. Optional argument @var{n} means print information only > -about the specified breakpoint(s) (or watchpoint(s) or catchpoint(s)). > +Print a table of all breakpoints, watchpoints, tracepoints and catchpoints set > +and not deleted. Optional argument @var{n} means print information only > +about the specified breakpoint(s) (or watchpoint(s) or tracepoint(s) or catchpoint(s)). > For each breakpoint, following columns are printed: > > @table @emph > @item Breakpoint Numbers > @item Type > -Breakpoint, watchpoint, or catchpoint. > +Breakpoint, watchpoint, tracepoint or catchpoint. > @item Disposition > Whether the breakpoint is marked to be disabled or deleted when hit. > @item Enabled or Disabled > @@ -5462,10 +5462,11 @@ Delete any breakpoints set at or within the code of the specified > @kindex delete > @kindex d @r{(@code{delete})} > @item delete @r{[}breakpoints@r{]} @r{[}@var{list}@dots{}@r{]} > -Delete the breakpoints, watchpoints, or catchpoints of the breakpoint > -list specified as argument. If no argument is specified, delete all > -breakpoints (@value{GDBN} asks confirmation, unless you have @code{set > -confirm off}). You can abbreviate this command as @code{d}. > +Delete all breakpoints, watchpoints, tracepoints and catchpoints > +of the breakpoint list specified as argument. If no argument is specified, > +delete all breakpoints, watchpoints, tracepoints and catchpoints > +(@value{GDBN} asks confirmation, unless you have @code{set confirm off}). > +You can abbreviate this command as @code{d}. > @end table > > @node Disabling > diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c > index 588dd7d..7414d7c 100644 > --- a/gdb/ppc-linux-nat.c > +++ b/gdb/ppc-linux-nat.c > @@ -2360,7 +2360,7 @@ ppc_linux_nat_target::can_use_watchpoint_cond_accel (void) > > auto process_it = m_process_info.find (inferior_ptid.pid ()); > > - /* No breakpoints or watchpoints have been requested for this process, > + /* No breakpoints, watchpoints, tracepoints or catchpoints have been requested for this process, > we have at least one free DVC register. */ > if (process_it == m_process_info.end ()) > return true; > diff --git a/gdb/testsuite/gdb.arch/i386-dr3-watch.exp b/gdb/testsuite/gdb.arch/i386-dr3-watch.exp > index bab118b..575e900 100644 > --- a/gdb/testsuite/gdb.arch/i386-dr3-watch.exp > +++ b/gdb/testsuite/gdb.arch/i386-dr3-watch.exp > @@ -78,7 +78,7 @@ gdb_test_multiple "watch gap1" "$test" { > gdb_test "delete" \ > "" \ > "delete all watchpoints" \ > - {Delete all breakpoints\? \(y or n\) $} \ > + {Delete all breakpoints, watchpoints, tracepoints and catchpoints\? \(y or n\) $} \ > "y" > > # If debug registers were left occupied by mistake, we'll fail to set > diff --git a/gdb/testsuite/gdb.base/annota-input-while-running.exp b/gdb/testsuite/gdb.base/annota-input-while-running.exp > index 2b4c5e1..8443071 100644 > --- a/gdb/testsuite/gdb.base/annota-input-while-running.exp > +++ b/gdb/testsuite/gdb.base/annota-input-while-running.exp > @@ -57,7 +57,7 @@ gdb_annota_test "set annotate 2" ".*" "annotation set at level 2" > > set test "delete breakpoints" > gdb_test_multiple "delete" $test { > - -re "Delete all breakpoints. .y or n." { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints. .y or n." { > send_gdb "y\n" > exp_continue > } > diff --git a/gdb/testsuite/gdb.base/break-unload-file.exp b/gdb/testsuite/gdb.base/break-unload-file.exp > index ed14772..596736c 100644 > --- a/gdb/testsuite/gdb.base/break-unload-file.exp > +++ b/gdb/testsuite/gdb.base/break-unload-file.exp > @@ -121,8 +121,8 @@ proc test_break { initial_load always_inserted break_command } { > # re-insert, GDB would fill the shadow buffer with a > # breakpoint instruction). Avoid delete_breakpoints as that > # doesn't record a pass/fail. > - gdb_test "delete" "" "delete all breakpoints" \ > - "Delete all breakpoints.*y or n.*$" "y" > + gdb_test "delete" "" "delete all breakpoints, watchpoints, tracepoints and catchpoints" \ > + "Delete all breakpoints, watchpoints, tracepoints and catchpoints.*y or n.*$" "y" > > # Re-add symbols back. > set test "file \$binfile" > diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp > index 2c939ad..f89923e 100644 > --- a/gdb/testsuite/gdb.base/break.exp > +++ b/gdb/testsuite/gdb.base/break.exp > @@ -31,17 +31,17 @@ set srcfile1 break1.c > > send_gdb "delete breakpoints\n" > gdb_expect { > - -re "Delete all breakpoints.*$" { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints.*$" { > send_gdb "y\n" > gdb_expect { > -re "$gdb_prompt $" { > - fail "delete all breakpoints when none (unexpected prompt)" > + fail "delete all breakpoints, watchpoints, tracepoints and catchpoints when none (unexpected prompt)" > } > - timeout { fail "delete all breakpoints when none (timeout after unexpected prompt)" } > + timeout { fail "delete all breakpoints, watchpoints, tracepoints and catchpoints when none (timeout after unexpected prompt)" } > } > } > - -re ".*$gdb_prompt $" { pass "delete all breakpoints when none" } > - timeout { fail "delete all breakpoints when none (timeout)" } > + -re ".*$gdb_prompt $" { pass "delete all breakpoints, watchpoints, tracepoints and catchpoints when none" } > + timeout { fail "delete all breakpoints, watchpoints, tracepoints and catchpoints when none (timeout)" } > } > > # > @@ -418,7 +418,7 @@ gdb_test "continue" \ > "continue to breakpoint at }" > > # > -# delete all breakpoints so we can start over, course this can be a test too > +# delete all breakpoints, watchpoints, tracepoints and catchpoints so we can start over, course this can be a test too > # > delete_breakpoints > > diff --git a/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp > index a3b654b..11c7e03 100644 > --- a/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp > +++ b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp > @@ -237,7 +237,7 @@ proc test_single_step { always_inserted auto_hw } { > } > > gdb_test "maint info breakpoints 0" \ > - "No breakpoint or watchpoint matching '0'\." \ > + "No breakpoint, watchpoint, tracepoint or catchpoint matching '0'\." \ > "single-step breakpoint is not left behind" > > # Confirm the thread really advanced. > diff --git a/gdb/testsuite/gdb.base/continue-after-aborted-step-over.exp b/gdb/testsuite/gdb.base/continue-after-aborted-step-over.exp > index ee59ad5..30836f5 100644 > --- a/gdb/testsuite/gdb.base/continue-after-aborted-step-over.exp > +++ b/gdb/testsuite/gdb.base/continue-after-aborted-step-over.exp > @@ -27,7 +27,7 @@ > # > # Command aborted. > # delete breakpoints > -# Delete all breakpoints? (y or n) y > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints? (y or n) y > # (gdb) b function > # Breakpoint 3 at 0x40048b: file test.c, line 33. > # continue > diff --git a/gdb/testsuite/gdb.base/default.exp b/gdb/testsuite/gdb.base/default.exp > index 23379f6..37386de 100644 > --- a/gdb/testsuite/gdb.base/default.exp > +++ b/gdb/testsuite/gdb.base/default.exp > @@ -267,7 +267,7 @@ gdb_test "info args" "No frame selected." > #test info bogus-gdb-command > gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*" > #test info breakpoints > -gdb_test "info breakpoints" "No breakpoints or watchpoints." > +gdb_test "info breakpoints" "No breakpoints, watchpoints, tracepoints or catchpoints." > #test info copying > # FIXME -- doesn't work worth a shit > #send_gdb "info copying" > diff --git a/gdb/testsuite/gdb.base/del.exp b/gdb/testsuite/gdb.base/del.exp > index 29ab5f5..1fab0c8 100644 > --- a/gdb/testsuite/gdb.base/del.exp > +++ b/gdb/testsuite/gdb.base/del.exp > @@ -35,7 +35,7 @@ proc test_delete_alias { alias } { > "remove all breakpoints" > > gdb_test "info break" \ > - "No breakpoints or watchpoints." \ > + "No breakpoints, watchpoints, tracepoints or catchpoints." \ > "info break after clearing breakpoints" > > > @@ -50,7 +50,7 @@ proc test_delete_alias { alias } { > "Remove last breakpoint" > > gdb_test "info break" \ > - "No breakpoints or watchpoints." \ > + "No breakpoints, watchpoints, tracepoints or catchpoints." \ > "info break after removing break on main" > } > > diff --git a/gdb/testsuite/gdb.base/ena-dis-br.exp b/gdb/testsuite/gdb.base/ena-dis-br.exp > index 24925cf..9b90bc3 100644 > --- a/gdb/testsuite/gdb.base/ena-dis-br.exp > +++ b/gdb/testsuite/gdb.base/ena-dis-br.exp > @@ -133,7 +133,7 @@ gdb_test "continue" \ > "continue to auto-deleted break marker3" > > gdb_test "info break $bp" \ > - ".*No breakpoint or watchpoint matching.*" \ > + ".*No breakpoint, watchpoint, tracepoint or catchpoint matching.*" \ > "info auto-deleted break marker3" > > # Verify that we can set a breakpoint and manually disable it (we've > diff --git a/gdb/testsuite/gdb.base/foll-fork.exp b/gdb/testsuite/gdb.base/foll-fork.exp > index 0ab2290..3ac94a9 100644 > --- a/gdb/testsuite/gdb.base/foll-fork.exp > +++ b/gdb/testsuite/gdb.base/foll-fork.exp > @@ -262,7 +262,7 @@ proc_with_prefix catch_fork_child_follow {} { > gdb_test "delete breakpoints" \ > "" \ > "set follow-fork child, cleanup" \ > - "Delete all breakpoints. \\(y or n\\) $" \ > + "Delete all breakpoints, watchpoints, tracepoints and catchpoints. \\(y or n\\) $" \ > "y" > } > > @@ -289,7 +289,7 @@ proc_with_prefix catch_fork_unpatch_child {} { > "Catchpoint \[0-9\]* \\(forked process \[0-9\]*\\),.*" \ > "unpatch child, catch fork" > > - # Delete all breakpoints and catchpoints. > + # Delete all breakpoints, watchpoints, tracepoints and catchpoints. > delete_breakpoints > > # Force $srcfile as the current GDB source can be in glibc sourcetree. > @@ -366,7 +366,7 @@ proc_with_prefix tcatch_fork_parent_follow {} { > gdb_test "delete breakpoints" \ > "" \ > "set follow-fork parent, cleanup" \ > - "Delete all breakpoints. \\(y or n\\) $" \ > + "Delete all breakpoints, watchpoints, tracepoints and catchpoints. \\(y or n\\) $" \ > "y" > } > > diff --git a/gdb/testsuite/gdb.base/hbreak-unmapped.exp b/gdb/testsuite/gdb.base/hbreak-unmapped.exp > index 7e6d1cb..fc93ce5 100644 > --- a/gdb/testsuite/gdb.base/hbreak-unmapped.exp > +++ b/gdb/testsuite/gdb.base/hbreak-unmapped.exp > @@ -73,5 +73,5 @@ gdb_test "info break" "hw breakpoint.*y.*0x0\+\[ \t\]\+" \ > gdb_test_no_output "delete \$bpnum" "" "delete" \ > "delete hw breakpoint" > > -gdb_test "info break" "No breakpoints or watchpoints\." \ > - "info break shows no breakpoints" > +gdb_test "info break" "No breakpoints, watchpoints, tracepoints or catchpoints\." \ > + "info break shows no breakpoints, watchpoints, tracepoints or catchpoints" > diff --git a/gdb/testsuite/gdb.base/hbreak2.exp b/gdb/testsuite/gdb.base/hbreak2.exp > index aecf613..3b34fef 100644 > --- a/gdb/testsuite/gdb.base/hbreak2.exp > +++ b/gdb/testsuite/gdb.base/hbreak2.exp > @@ -228,7 +228,7 @@ gdb_test "continue" \ > "continue to hardware breakpoint at }" > > # > -# Delete all breakpoints so we can start over, course this can be a test too. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so we can start over, course this can be a test too. > # > delete_breakpoints > > diff --git a/gdb/testsuite/gdb.base/help.exp b/gdb/testsuite/gdb.base/help.exp > index 74da29e..dfb1e3d 100644 > --- a/gdb/testsuite/gdb.base/help.exp > +++ b/gdb/testsuite/gdb.base/help.exp > @@ -89,7 +89,7 @@ set expected_help_delete { > "Delete all or some breakpoints\.\[\r\n\]+" > "Usage: delete \\\[BREAKPOINTNUM\\\]...\[\r\n\]+" > "Arguments are breakpoint numbers with spaces in between\.\[\r\n\]+" > - "To delete all breakpoints, give no argument\.\[\r\n\]+" > + "To delete all breakpoints, watchpoints, tracepoints and catchpoints, give no argument\.\[\r\n\]+" > "Also a prefix command for deletion of other GDB objects\.\[\r\n\]+" > } > test_prefix_command_help {"d" "delete"} $expected_help_delete "help delete \"d\" abbreviation" > diff --git a/gdb/testsuite/gdb.base/new-ui.exp b/gdb/testsuite/gdb.base/new-ui.exp > index 2f019f6..32d902b 100644 > --- a/gdb/testsuite/gdb.base/new-ui.exp > +++ b/gdb/testsuite/gdb.base/new-ui.exp > @@ -130,17 +130,17 @@ proc_with_prefix do_test {} { > # Verify that we get proper queries on the main UI, but that they are > # auto-answered on secondary UIs. > with_spawn_id $gdb_main_spawn_id { > - gdb_test "delete" "" "delete all breakpoint on main console" \ > - "Delete all breakpoints. .y or n. $" "n" > + gdb_test "delete" "" "delete all breakpoints, watchpoints, tracepoints and catchpoints on main console" \ > + "Delete all breakpoints, watchpoints, tracepoints and catchpoints. .y or n. $" "n" > } > with_spawn_id $extra_spawn_id { > # Check output in two stages in order to override > # gdb_test_multiple's internal "got interactive prompt" fail > # that would otherwise match if the expect buffer happens to > # fill with partial output that ends in "(y or n) ". > - set test "delete all breakpoints on extra console" > + set test "delete all breakpoints, watchpoints, tracepoints and catchpoints on extra console" > gdb_test_multiple "delete" $test { > - -re "Delete all breakpoints. .y or n. " { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints. .y or n. " { > gdb_test "" \ > ".answered Y; input not from terminal." \ > $test > diff --git a/gdb/testsuite/gdb.base/save-bp.exp b/gdb/testsuite/gdb.base/save-bp.exp > index 39bd692..d2649d8 100644 > --- a/gdb/testsuite/gdb.base/save-bp.exp > +++ b/gdb/testsuite/gdb.base/save-bp.exp > @@ -22,8 +22,8 @@ if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } { > if ![runto_main] { > return -1 > } > -# Delete all breakpoints so that the "runto_main" breakpoint above > -# does not interfere with our testing. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > +# the "runto_main" breakpoint above does not interfere with our testing. > delete_breakpoints > > # Insert a bunch of breakpoints... The goal is to create breakpoints > @@ -64,8 +64,8 @@ clean_restart $testfile > if ![runto_main] { > return -1 > } > -# Delete all breakpoints so that the "runto_main" breakpoint above > -# does not interfere with our testing. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > +# the "runto_main" breakpoint above does not interfere with our testing. > delete_breakpoints > > # ... and restore the breakpoints. > diff --git a/gdb/testsuite/gdb.base/sepdebug.exp b/gdb/testsuite/gdb.base/sepdebug.exp > index 20a7f34..5ee9e6f 100644 > --- a/gdb/testsuite/gdb.base/sepdebug.exp > +++ b/gdb/testsuite/gdb.base/sepdebug.exp > @@ -219,7 +219,7 @@ gdb_test "step" \ > "step onto breakpoint" > > # > -# delete all breakpoints so we can start over, course this can be a test too > +# delete all breakpoints, watchpoints, tracepoints and catchpoints so we can start over, course this can be a test too > # > delete_breakpoints > > diff --git a/gdb/testsuite/gdb.base/server-del-break.exp b/gdb/testsuite/gdb.base/server-del-break.exp > index 9a8b6f8..2200702 100644 > --- a/gdb/testsuite/gdb.base/server-del-break.exp > +++ b/gdb/testsuite/gdb.base/server-del-break.exp > @@ -29,10 +29,11 @@ gdb_test "break -q main" \ > > # Try deleting all breakpoints, using the "server" command prefix. > # Prefixing the "delete breakpoints" with "server" should turn > -# the confirmation request ("Delete all breakpoints? (y or n)") > +# the confirmation request > +# ("Delete all breakpoints, watchpoints, tracepoints and catchpoints? (y or n)") > # off, hence we expect the operation to be executed without output. > gdb_test_no_output "server delete breakpoints" > > # Double-check that the all breakpoints were in fact deleted. > gdb_test "info break" \ > - "No breakpoints or watchpoints." > + "No breakpoints, watchpoints, tracepoints or catchpoints." > diff --git a/gdb/testsuite/gdb.cp/annota2.exp b/gdb/testsuite/gdb.cp/annota2.exp > index 681235b..cbfc30d 100644 > --- a/gdb/testsuite/gdb.cp/annota2.exp > +++ b/gdb/testsuite/gdb.cp/annota2.exp > @@ -149,11 +149,11 @@ gdb_test_multiple "continue" "continue until exit" { > } > > # > -# delete all breakpoints > +# delete all breakpoints, watchpoints, tracepoints and catchpoints > # > send_gdb "delete\n" > gdb_expect { > - -re ".*Delete all breakpoints. \\(y or n\\) \r\n\032\032query.*$" { > + -re ".*Delete all breakpoints, watchpoints, tracepoints and catchpoints. \\(y or n\\) \r\n\032\032query.*$" { > send_gdb "y\n" > gdb_expect { > -re "\r\n\032\032post-query\r\n${breakpoints_invalid}$gdb_prompt$" { pass "delete bps" } > diff --git a/gdb/testsuite/gdb.cp/annota3.exp b/gdb/testsuite/gdb.cp/annota3.exp > index 0914b7c..8e45f6c 100644 > --- a/gdb/testsuite/gdb.cp/annota3.exp > +++ b/gdb/testsuite/gdb.cp/annota3.exp > @@ -107,11 +107,11 @@ gdb_expect_list "continue to exit" "$gdb_prompt$" [concat { > }] > > # > -# delete all breakpoints > +# delete all breakpoints, watchpoints, tracepoints and catchpoints > # > send_gdb "delete\n" > gdb_expect { > - -re ".*Delete all breakpoints. \\(y or n\\) \r\n\032\032query.*$" { > + -re ".*Delete all breakpoints, watchpoints, tracepoints and catchpoints. \\(y or n\\) \r\n\032\032query.*$" { > send_gdb "y\n" > gdb_expect { > -re "\r\n\032\032post-query\r\n$gdb_prompt$" { pass "delete bps" } > diff --git a/gdb/testsuite/gdb.cp/ovldbreak.exp b/gdb/testsuite/gdb.cp/ovldbreak.exp > index 681edf2..500e505 100644 > --- a/gdb/testsuite/gdb.cp/ovldbreak.exp > +++ b/gdb/testsuite/gdb.cp/ovldbreak.exp > @@ -261,23 +261,23 @@ gdb_test "info break" $bptable "breakpoint info (after cancel)" > > send_gdb "delete breakpoints\n" > gdb_expect { > - -re "Delete all breakpoints.* $" { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints.* $" { > send_gdb "y\n" > gdb_expect { > -re ".*$gdb_prompt $" { > - pass "delete all breakpoints" > + pass "delete all breakpoints, watchpoints, tracepoints and catchpoints" > } > timeout { > - fail "delete all breakpoints (timeout)" > + fail "delete all breakpoints, watchpoints, tracepoints and catchpoints (timeout)" > } > } > } > timeout { > - fail "delete all breakpoints (timeout)" > + fail "delete all breakpoints, watchpoints, tracepoints and catchpoints (timeout)" > } > } > > -gdb_test "info breakpoints" "No breakpoints or watchpoints." "breakpoint info (after delete)" > +gdb_test "info breakpoints" "No breakpoints, watchpoints, tracepoints or catchpoints." "breakpoint info (after delete)" > > > > diff --git a/gdb/testsuite/gdb.cp/save-bp-qualified.exp b/gdb/testsuite/gdb.cp/save-bp-qualified.exp > index 857e9b8..ff8915f 100644 > --- a/gdb/testsuite/gdb.cp/save-bp-qualified.exp > +++ b/gdb/testsuite/gdb.cp/save-bp-qualified.exp > @@ -29,8 +29,8 @@ proc restart {} { > if ![runto_main] { > return 0 > } > - # Delete all breakpoints so that the "runto_main" breakpoint above > - # does not interfere with our testing. > + # Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > + # the "runto_main" breakpoint above does not interfere with our testing. > delete_breakpoints > > return 1 > diff --git a/gdb/testsuite/gdb.dwarf2/dw2-inline-header-1.exp b/gdb/testsuite/gdb.dwarf2/dw2-inline-header-1.exp > index 19f06ad..7b5c0a6 100644 > --- a/gdb/testsuite/gdb.dwarf2/dw2-inline-header-1.exp > +++ b/gdb/testsuite/gdb.dwarf2/dw2-inline-header-1.exp > @@ -167,8 +167,8 @@ proc do_test { start_label func_name tag } { > return -1 > } > > - # Delete all breakpoints so that the output of "info breakpoints" > - # below will only contain a single breakpoint. > + # Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > + # the output of "info breakpoints" below will only contain a single breakpoint. > delete_breakpoints > > # Place a breakpoint within the function in the header file. > diff --git a/gdb/testsuite/gdb.dwarf2/dw2-inline-header-2.exp b/gdb/testsuite/gdb.dwarf2/dw2-inline-header-2.exp > index 198f355..6e78af0 100644 > --- a/gdb/testsuite/gdb.dwarf2/dw2-inline-header-2.exp > +++ b/gdb/testsuite/gdb.dwarf2/dw2-inline-header-2.exp > @@ -155,8 +155,8 @@ if ![runto_main] { > return -1 > } > > -# Delete all breakpoints so that the output of "info breakpoints" > -# below will only contain a single breakpoint. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > +# the output of "info breakpoints" below will only contain a single breakpoint. > delete_breakpoints > > # Place a breakpoint within the function in the header file. > @@ -169,8 +169,8 @@ gdb_test "info breakpoints" \ > ".* in callee at \[^\r\n\]+${srcfile4}:22\\y.*" \ > "check for breakpoint at ${srcfile4}" > > -# Delete all breakpoints so that the output of "info breakpoints" > -# below will only contain a single breakpoint. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > +# the output of "info breakpoints" below will only contain a single breakpoint. > delete_breakpoints > > # Place a breakpoint within the function in the header file. > diff --git a/gdb/testsuite/gdb.dwarf2/dw2-inline-header-3.exp b/gdb/testsuite/gdb.dwarf2/dw2-inline-header-3.exp > index 68261aa..7ecb3e0 100644 > --- a/gdb/testsuite/gdb.dwarf2/dw2-inline-header-3.exp > +++ b/gdb/testsuite/gdb.dwarf2/dw2-inline-header-3.exp > @@ -144,8 +144,8 @@ if ![runto_main] { > return -1 > } > > -# Delete all breakpoints so that the output of "info breakpoints" > -# below will only contain a single breakpoint. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > +# the output of "info breakpoints" below will only contain a single breakpoint. > delete_breakpoints > > # Place a breakpoint within the function in the header file. > diff --git a/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp b/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp > index 05286ad..965417d 100644 > --- a/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp > +++ b/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp > @@ -129,8 +129,8 @@ if ![runto_main] { > return -1 > } > > -# Delete all breakpoints so that the output of "info breakpoints" > -# below will only contain a single breakpoint. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > +# the output of "info breakpoints" below will only contain a single breakpoint. > delete_breakpoints > > # Place a breakpoint within the function in the header file. > diff --git a/gdb/testsuite/gdb.guile/scm-breakpoint.exp b/gdb/testsuite/gdb.guile/scm-breakpoint.exp > index 37607b7..94d40e1 100644 > --- a/gdb/testsuite/gdb.guile/scm-breakpoint.exp > +++ b/gdb/testsuite/gdb.guile/scm-breakpoint.exp > @@ -225,7 +225,7 @@ proc_with_prefix test_bkpt_invisible { } { > gdb_test "guile (print (breakpoint-visible? ibp))" \ > "= #f" "check breakpoint invisibility" > gdb_test "info breakpoints" \ > - "No breakpoints or watchpoints.*" \ > + "No breakpoints, watchpoints, tracepoints or catchpoints.*" \ > "check info breakpoints does not show invisible breakpoints" > gdb_test "maint info breakpoints" \ > "scm-breakpoint\.c:$ibp_location.*" \ > @@ -288,7 +288,7 @@ proc_with_prefix test_bkpt_internal { } { > gdb_scm_test_silent_cmd "guile (register-breakpoint! wp1)" \ > "register wp1" > gdb_test "info breakpoints" \ > - "No breakpoints or watchpoints.*" \ > + "No breakpoints, watchpoints, tracepoints or catchpoints.*" \ > "check info breakpoints does not show invisible watchpoint" > gdb_test "maint info breakpoints" \ > ".*watchpoint.*result.*" \ > @@ -512,7 +512,7 @@ proc_with_prefix test_bkpt_temporary { } { > ".*$srcfile:$ibp_location.*" > gdb_test "guile (print (breakpoint-temporary? ibp))" "Invalid object: .*" \ > "check temporary breakpoint is deleted after being hit" > - gdb_test "info breakpoints" "No breakpoints or watchpoints.*" \ > + gdb_test "info breakpoints" "No breakpoints, watchpoints, tracepoints or catchpoints.*" \ > "check info breakpoints shows temporary breakpoint is deleted" > } > > diff --git a/gdb/testsuite/gdb.linespec/cpexplicit.exp b/gdb/testsuite/gdb.linespec/cpexplicit.exp > index 038c09f..d10d21f 100644 > --- a/gdb/testsuite/gdb.linespec/cpexplicit.exp > +++ b/gdb/testsuite/gdb.linespec/cpexplicit.exp > @@ -34,8 +34,8 @@ namespace eval $testfile { > # at LOCATION. > proc test_breakpoint {linespec location} { > > - # Delete all breakpoints, set a new breakpoint at LINESPEC, > - # and attempt to run to it. > + # Delete all breakpoints, watchpoints, tracepoints and catchpoints, > + # set a new breakpoint at LINESPEC, and attempt to run to it. > delete_breakpoints > gdb_breakpoint $linespec > gdb_continue_to_breakpoint $linespec $location > diff --git a/gdb/testsuite/gdb.linespec/explicit.exp b/gdb/testsuite/gdb.linespec/explicit.exp > index 9064c13..4bbc347 100644 > --- a/gdb/testsuite/gdb.linespec/explicit.exp > +++ b/gdb/testsuite/gdb.linespec/explicit.exp > @@ -33,8 +33,8 @@ namespace eval $testfile { > proc test_breakpoint {linespec location} { > > set testname "set breakpoint at \"$linespec\"" > - # Delete all breakpoints, set a new breakpoint at LINESPEC, > - # and attempt to run to it. > + # Delete all breakpoints, watchpoints, tracepoints and catchpoints, > + # set a new breakpoint at LINESPEC, and attempt to run to it. > delete_breakpoints > if {[gdb_breakpoint $linespec]} { > pass $testname > diff --git a/gdb/testsuite/gdb.mi/mi-return.exp b/gdb/testsuite/gdb.mi/mi-return.exp > index 393c3a7..ed972b7 100644 > --- a/gdb/testsuite/gdb.mi/mi-return.exp > +++ b/gdb/testsuite/gdb.mi/mi-return.exp > @@ -57,7 +57,7 @@ mi_runto callee4 > > mi_gdb_test "205-break-delete" \ > "205\\^done.*" \ > - "delete all breakpoints" > + "delete all breakpoints, watchpoints, tracepoints and catchpoints" > > test_return_simple > > diff --git a/gdb/testsuite/gdb.opt/inline-small-func.exp b/gdb/testsuite/gdb.opt/inline-small-func.exp > index 3be1955..1c95823 100644 > --- a/gdb/testsuite/gdb.opt/inline-small-func.exp > +++ b/gdb/testsuite/gdb.opt/inline-small-func.exp > @@ -45,8 +45,8 @@ if ![runto_main] { > return -1 > } > > -# Delete all breakpoints so that the output of "info breakpoints" > -# below will only contain a single breakpoint. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints so that > +# the output of "info breakpoints" below will only contain a single breakpoint. > delete_breakpoints > > # Place a breakpoint within the function in the header file. > diff --git a/gdb/testsuite/gdb.python/py-breakpoint.exp b/gdb/testsuite/gdb.python/py-breakpoint.exp > index 58b1af3..f25d112 100644 > --- a/gdb/testsuite/gdb.python/py-breakpoint.exp > +++ b/gdb/testsuite/gdb.python/py-breakpoint.exp > @@ -241,7 +241,7 @@ proc_with_prefix test_bkpt_invisible { } { > "py-breakpoint\.c:$ibp_location*" "Check breakpoint location 2" > gdb_test "python print (ilist\[0\].visible)" \ > "False" "Check breakpoint visibility 2" > - gdb_test "info breakpoints" "No breakpoints or watchpoints.*" \ > + gdb_test "info breakpoints" "No breakpoints, watchpoints, tracepoints or catchpoints.*" \ > "Check info breakpoints does not show invisible breakpoints" > gdb_test "maint info breakpoints" \ > "py-breakpoint\.c:$ibp_location.*" \ > @@ -313,7 +313,7 @@ proc_with_prefix test_bkpt_internal { } { > gdb_py_test_silent_cmd "python wp1 = gdb.Breakpoint (\"result\", type=gdb.BP_WATCHPOINT, wp_class=gdb.WP_WRITE, internal=True )" \ > "Set watchpoint" 0 > gdb_test "info breakpoints" \ > - "No breakpoints or watchpoints.*" \ > + "No breakpoints, watchpoints, tracepoints or catchpoints.*" \ > "Check info breakpoints does not show invisible breakpoints" > gdb_test "maint info breakpoints" \ > ".*watchpoint.*result.*" \ > @@ -475,7 +475,7 @@ proc_with_prefix test_bkpt_temporary { } { > "Check temporary stop callback executed before deletion." > gdb_test "python print (ibp.temporary)" "RuntimeError: Breakpoint 2 is invalid.*" \ > "Check temporary breakpoint is deleted after being hit" > - gdb_test "info breakpoints" "No breakpoints or watchpoints.*" \ > + gdb_test "info breakpoints" "No breakpoints, watchpoints, tracepoints or catchpoints.*" \ > "Check info breakpoints shows temporary breakpoint is deleted" > } > > @@ -484,7 +484,7 @@ proc_with_prefix test_bkpt_temporary { } { > proc_with_prefix test_bkpt_address {} { > global gdb_prompt decimal srcfile > > - # Delete all breakpoints > + # Delete all breakpoints, watchpoints, tracepoints and catchpoints > delete_breakpoints > > gdb_test "python gdb.Breakpoint(\"*main\")" \ > diff --git a/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp > index 8cecb06..016b17d 100644 > --- a/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp > +++ b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp > @@ -108,7 +108,7 @@ gdb_test_no_output "set exec-direction forward" "start forward test3" > gdb_test "record stop" ".*Process record is stopped.*" "stopped recording 2" > set test_del_bkpts "delete breakpoints, answer prompt 2" > > -# Delete all breakpoints and catchpoints. > +# Delete all breakpoints, watchpoints, tracepoints and catchpoints. > delete_breakpoints > > gdb_test_no_output "record" "start recording test2" > diff --git a/gdb/testsuite/gdb.threads/continue-pending-after-query.exp b/gdb/testsuite/gdb.threads/continue-pending-after-query.exp > index a0a7915..13f2612 100644 > --- a/gdb/testsuite/gdb.threads/continue-pending-after-query.exp > +++ b/gdb/testsuite/gdb.threads/continue-pending-after-query.exp > @@ -67,7 +67,7 @@ proc test {} { > set test "delete breakpoints, answer prompt" > set saw_prompt 0 > gdb_test_multiple "delete breakpoints" $test { > - -re "Delete all breakpoints.*y or n.*$" { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints.*y or n.*$" { > set saw_prompt 1 > send_gdb "y\n" > exp_continue > diff --git a/gdb/testsuite/gdb.threads/continue-pending-status.exp b/gdb/testsuite/gdb.threads/continue-pending-status.exp > index 9814fa2..a24db80 100644 > --- a/gdb/testsuite/gdb.threads/continue-pending-status.exp > +++ b/gdb/testsuite/gdb.threads/continue-pending-status.exp > @@ -92,9 +92,10 @@ for {set i 0} {$i < $attempts} {incr i} { > "Switching to thread $thread .*" \ > "switch to non-event thread" > > - # Delete all breakpoints so that continuing doesn't switch > - # back to the event thread to do a step-over, which would mask > - # away the original bug, which depended on the event thread > + # Delete all breakpoints, watchpoints, tracepoints and catchpoints > + # so that continuing doesn't switch back to the event > + # thread to do a step-over, which would mask away the > + # original bug, which depended on the event thread > # still having TARGET_STOPPED_BY_SW_BREAKPOINT stop_reason. > delete_breakpoints > > diff --git a/gdb/testsuite/gdb.threads/thread_check.exp b/gdb/testsuite/gdb.threads/thread_check.exp > index 61ec078..b2e3ad2 100644 > --- a/gdb/testsuite/gdb.threads/thread_check.exp > +++ b/gdb/testsuite/gdb.threads/thread_check.exp > @@ -28,7 +28,7 @@ > # - create 2 breakpoints #1 main() #2 tf() (the thread function) > # - run gdb till #1 main() breakpoint is reached > # - continue to breakpoint #2 tf() > -# - delete all breakpoints > +# - delete all breakpoints, watchpoints, tracepoints and catchpoints > # - exit gdb. > > > @@ -71,7 +71,7 @@ gdb_test "backtrace" \ > > > # > -# delete all breakpoints > +# delete all breakpoints, watchpoints, tracepoints and catchpoints > # > delete_breakpoints > > diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp > index 97841ca..a8ea26f 100644 > --- a/gdb/testsuite/lib/gdb.exp > +++ b/gdb/testsuite/lib/gdb.exp > @@ -305,10 +305,10 @@ proc delete_breakpoints {} { > # > set timeout 100 > > - set msg "delete all breakpoints in delete_breakpoints" > + set msg "delete all breakpoints, watchpoints, tracepoints and catchpoints in delete_breakpoints" > set deleted 0 > gdb_test_multiple "delete breakpoints" "$msg" { > - -re "Delete all breakpoints.*y or n.*$" { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints.*y or n.*$" { > send_gdb "y\n" answer > exp_continue > } > @@ -322,7 +322,7 @@ proc delete_breakpoints {} { > set deleted 0 > set msg "info breakpoints" > gdb_test_multiple $msg $msg { > - -re "No breakpoints or watchpoints..*$gdb_prompt $" { > + -re "No breakpoints, watchpoints, tracepoints or catchpoints..*$gdb_prompt $" { > set deleted 1 > } > -re "$gdb_prompt $" { > diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp > index e578a7e..e98b937 100644 > --- a/gdb/testsuite/lib/mi-support.exp > +++ b/gdb/testsuite/lib/mi-support.exp > @@ -364,25 +364,25 @@ proc mi_delete_breakpoints {} { > # FIXME: The mi operation won't accept a prompt back and will use the 'all' arg > send_gdb "102-break-delete\n" > gdb_expect 30 { > - -re "Delete all breakpoints.*y or n.*$" { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints.*y or n.*$" { > send_gdb "y\n" > exp_continue > } > -re "102-break-delete\r\n102\\\^done\r\n$mi_gdb_prompt$" { > # This happens if there were no breakpoints > } > - timeout { perror "Delete all breakpoints in mi_delete_breakpoints (timeout)" ; return } > + timeout { perror "Delete all breakpoints, watchpoints, tracepoints and catchpoints in mi_delete_breakpoints (timeout)" ; return } > } > > -# The correct output is not "No breakpoints or watchpoints." but an > +# The correct output is not "No breakpoints, watchpoints, tracepoints or catchpoints." but an > # empty BreakpointTable. Also, a query is not acceptable with mi. > send_gdb "103-break-list\n" > gdb_expect 30 { > -re "103-break-list\r\n103\\\^done,BreakpointTable=\{\}\r\n$mi_gdb_prompt$" {} > -re "103-break-list\r\n103\\\^done,BreakpointTable=\{nr_rows=\".\",nr_cols=\".\",hdr=\\\[\{width=\".*\",alignment=\".*\",col_name=\"number\",colhdr=\"Num\"\}.*colhdr=\"Type\".*colhdr=\"Disp\".*colhdr=\"Enb\".*colhdr=\"Address\".*colhdr=\"What\".*\\\],body=\\\[\\\]\}\r\n$mi_gdb_prompt$" {} > - -re "103-break-list\r\n103\\\^doneNo breakpoints or watchpoints.\r\n\r\n$mi_gdb_prompt$" {warning "Unexpected console text received"} > + -re "103-break-list\r\n103\\\^doneNo breakpoints, watchpoints, tracepoints or catchpoints.\r\n\r\n$mi_gdb_prompt$" {warning "Unexpected console text received"} > -re "$mi_gdb_prompt$" { perror "Breakpoints not deleted" ; return } > - -re "Delete all breakpoints.*or n.*$" { > + -re "Delete all breakpoints, watchpoints, tracepoints and catchpoints.*or n.*$" { > warning "Unexpected prompt for breakpoints deletion" > send_gdb "y\n" > exp_continue > diff --git a/gdbserver/mem-break.cc b/gdbserver/mem-break.cc > index 72ce8c8..d363c4b 100644 > --- a/gdbserver/mem-break.cc > +++ b/gdbserver/mem-break.cc > @@ -1989,7 +1989,8 @@ check_mem_write (CORE_ADDR mem_addr, unsigned char *buf, > delete_disabled_breakpoints (); > } > > -/* Delete all breakpoints, and un-insert them from the inferior. */ > +/* Delete all breakpoints, watchpoints, tracepoints and catchpoints, > + and un-insert them from the inferior. */ > > void > delete_all_breakpoints (void) > @@ -2011,8 +2012,8 @@ mark_breakpoints_out (struct process_info *proc) > raw_bp->inserted = 0; > } > > -/* Release all breakpoints, but do not try to un-insert them from the > - inferior. */ > +/* Delete all breakpoints, watchpoints, tracepoints and catchpoints, > + but do not try to un-insert them from the inferior. */ > > void > free_all_breakpoints (struct process_info *proc) > diff --git a/gdbserver/mem-break.h b/gdbserver/mem-break.h > index dc8742f..2dc271f 100644 > --- a/gdbserver/mem-break.h > +++ b/gdbserver/mem-break.h > @@ -216,7 +216,8 @@ void check_mem_read (CORE_ADDR mem_addr, unsigned char *buf, int mem_len); > void check_mem_write (CORE_ADDR mem_addr, > unsigned char *buf, const unsigned char *myaddr, int mem_len); > > -/* Delete all breakpoints. */ > +/* Delete all breakpoints, watchpoints, tracepoints and catchpoints, > + and un-insert them from the inferior. */ > > void delete_all_breakpoints (void); > > @@ -224,8 +225,8 @@ void delete_all_breakpoints (void); > > void mark_breakpoints_out (struct process_info *proc); > > -/* Delete all breakpoints, but do not try to un-insert them from the > - inferior. */ > +/* Delete all breakpoints, watchpoints, tracepoints and catchpoints, > + but do not try to un-insert them from the inferior. */ > > void free_all_breakpoints (struct process_info *proc); >