From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20770 invoked by alias); 14 Jun 2018 09:28:15 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 19313 invoked by uid 89); 14 Jun 2018 09:28:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:may, H*r:forged, observers X-HELO: relay.fit.cvut.cz Received: from relay.fit.cvut.cz (HELO relay.fit.cvut.cz) (147.32.232.237) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 14 Jun 2018 09:28:11 +0000 Received: from imap.fit.cvut.cz (imap.fit.cvut.cz [IPv6:2001:718:2:2901:0:0:0:238] (may be forged)) by relay.fit.cvut.cz (8.15.2/8.15.2) with ESMTPS id w5E9S20b068930 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK); Thu, 14 Jun 2018 11:28:04 +0200 (CEST) (envelope-from jan.vrany@fit.cvut.cz) Received: from sao (0279192e.bb.sky.com [2.121.25.46] (may be forged)) (authenticated bits=0 as user vranyj1) by imap.fit.cvut.cz (8.15.2/8.15.2) with ESMTPSA id w5E9S0EB061686 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Thu, 14 Jun 2018 11:28:02 +0200 (CEST) (envelope-from jan.vrany@fit.cvut.cz) Message-ID: <6833722787bf463292c75d526de0d3a612d98a3b.camel@fit.cvut.cz> Subject: [PING] [PATCH v2] Notify about breakpoint modification when enabling/disabling single location From: Jan Vrany To: gdb-patches Cc: Jan Vrany Date: Thu, 14 Jun 2018 09:28:00 -0000 In-Reply-To: <20180531085633.7830-1-jan.vrany@fit.cvut.cz> References: <20180531085633.7830-1-jan.vrany@fit.cvut.cz> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SW-Source: 2018-06/txt/msg00350.txt.bz2 Polite ping. On Thu, 2018-05-31 at 09:56 +0100, Jan Vrany wrote: > When a single breakpoint location enableness was modified by a CLI > command, > observers were not notified about it. This issue is now fixed. > > gdb/ChangeLog: > > * breakpoint.c (enable_disable_bp_num_loc): Notify observers. > > gdb/testsuite/ChangeLog: > > * gdb.mi/mi-breakpoint-location-ena-dis.cc: New file. > * gdb.mi/mi-breakpoint-location-ena-dis.exp: New file. > --- > gdb/ChangeLog | 4 ++ > gdb/breakpoint.c | 2 + > gdb/testsuite/ChangeLog | 5 ++ > .../gdb.mi/mi-breakpoint-location-ena-dis.cc | 36 ++++++++++++ > .../gdb.mi/mi-breakpoint-location-ena-dis.exp | 56 > +++++++++++++++++++ > 5 files changed, 103 insertions(+) > create mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-location-ena- > dis.cc > create mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-location-ena- > dis.exp > > diff --git a/gdb/ChangeLog b/gdb/ChangeLog > index c38ff5b14a..17ae4c625a 100644 > --- a/gdb/ChangeLog > +++ b/gdb/ChangeLog > @@ -1,3 +1,7 @@ > +2018-05-29 Jan Vrany > + > + * breakpoint.c (enable_disable_bp_num_loc): Notify > observers. > + > 2018-05-30 Pedro Alves > > * common/common-exceptions.h (exception_rethrow): Use > diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c > index f3101af96f..2243ba34f2 100644 > --- a/gdb/breakpoint.c > +++ b/gdb/breakpoint.c > @@ -14215,6 +14215,8 @@ enable_disable_bp_num_loc (int bp_num, int > loc_num, bool enable) > target_disable_tracepoint (loc); > } > update_global_location_list (UGLL_DONT_INSERT); > + > + gdb::observers::breakpoint_modified.notify (loc->owner); > } > > /* Enable or disable a range of breakpoint locations. BP_NUM is the > diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog > index b2938b1bf1..4ee5bb0662 100644 > --- a/gdb/testsuite/ChangeLog > +++ b/gdb/testsuite/ChangeLog > @@ -1,3 +1,8 @@ > +2018-05-29 Jan Vrany > + > + * gdb.mi/mi-breakpoint-location-ena-dis.cc: New file. > + * gdb.mi/mi-breakpoint-location-ena-dis.exp: New file. > + > 2018-05-24 Andrew Burgess > > PR gdb/23203 > diff --git a/gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.cc > b/gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.cc > new file mode 100644 > index 0000000000..981fbc8d82 > --- /dev/null > +++ b/gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.cc > @@ -0,0 +1,36 @@ > +/* This testcase is part of GDB, the GNU debugger. > + > + Copyright 2018 Free Software Foundation, Inc. > + > + This program is free software; you can redistribute it and/or > modify > + it under the terms of the GNU General Public License as published > by > + the Free Software Foundation; either version 3 of the License, or > + (at your option) any later version. > + > + This program is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + GNU General Public License for more details. > + > + You should have received a copy of the GNU General Public License > + along with this program. If not, see s/>. */ > + > +static int > +add (int a, int b) > +{ > + return a + b; > +} > + > +static double > +add (double a, double b) > +{ > + return a + b; > +} > + > +int > +main (void) > +{ > + int i = add (3, 4); > + double d = add (3.0, 4.0); > + return 1; > +} > diff --git a/gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.exp > b/gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.exp > new file mode 100644 > index 0000000000..03e03d2365 > --- /dev/null > +++ b/gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.exp > @@ -0,0 +1,56 @@ > +# Copyright 2018 Free Software Foundation, Inc. > + > +# This program is free software; you can redistribute it and/or > modify > +# it under the terms of the GNU General Public License as published > by > +# the Free Software Foundation; either version 3 of the License, or > +# (at your option) any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program. If not, see />. > + > +# Tests whether =breakpoint=modified notification is sent when a > single > +# breakpoint location is enabled or disabled via CLI. > + > +load_lib mi-support.exp > +set MIFLAGS "-i=mi" > + > +gdb_exit > +if {[mi_gdb_start]} { > + continue > +} > + > +# > +# Start here > +# > +standard_testfile .cc > + > +if {[gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable > {debug c++}] != "" } { > + return -1 > +} > + > +mi_run_to_main > + > +mi_gdb_test "break add" \ > + {(&.*)*.*~"Breakpoint 2 at.*\\n".*=breakpoint- > created,bkpt=\{number="2",type="breakpoint".*\},\{number="2.1",enable > d="y".*\}.*\n\^done} \ > + "break add" > + > +# Modify enableness through MI commands shouldn't trigger MI > +# notification. > +mi_gdb_test "-break-disable 2.2" "\\^done" "-break-disable 2.2" > +mi_gdb_test "-break-enable 2.2" "\\^done" "-break-enable 2.2" > + > +# Modify enableness through CLI commands should trigger MI > +# notification. > +mi_gdb_test "dis 2.2" \ > + {.*=breakpoint- > modified,bkpt=\{number="2",type="breakpoint".*\},\{number="2.1",enabl > ed="y".*\},\{number="2.2",enabled="n".*\}.*\n\^done} \ > + "dis 2.2" > +mi_gdb_test "en 2.2" \ > + {.*=breakpoint- > modified,bkpt=\{number="2",type="breakpoint".*\},\{number="2.1",enabl > ed="y".*\},\{number="2.2",enabled="y".*\}.*\n\^done} \ > + "en 2.2" > + > +mi_gdb_exit