From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29397 invoked by alias); 12 Dec 2011 11:21:18 -0000 Received: (qmail 29388 invoked by uid 22791); 12 Dec 2011 11:21:17 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 12 Dec 2011 11:21:03 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=EU1-MAIL.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1Ra3wB-0001bV-7P from pedro_alves@mentor.com ; Mon, 12 Dec 2011 03:20:51 -0800 Received: from scottsdale.localnet ([172.16.63.104]) by EU1-MAIL.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 12 Dec 2011 11:20:38 +0000 From: Pedro Alves To: Jan Kratochvil Subject: Re: [PATCH] PR threads/10729: x86 hw watchpoints and non-stop mode Date: Mon, 12 Dec 2011 11:53:00 -0000 User-Agent: KMail/1.13.6 (Linux/2.6.38-13-generic; KDE/4.7.2; x86_64; ; ) Cc: Tristan Gingold , gdb-patches@sourceware.org, Yao Qi References: <201112051601.59664.pedro@codesourcery.com> <201112091630.20916.pedro@codesourcery.com> <20111211203257.GA21456@host2.jankratochvil.net> In-Reply-To: <20111211203257.GA21456@host2.jankratochvil.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201112121120.31827.pedro@codesourcery.com> X-IsSubscribed: yes 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 X-SW-Source: 2011-12/txt/msg00345.txt.bz2 On Sunday 11 December 2011 20:32:57, Jan Kratochvil wrote: > On Fri, 09 Dec 2011 17:30:20 +0100, Pedro Alves wrote: > > On Monday 05 December 2011 20:25:13, Jan Kratochvil wrote: > > > The patchset > > > [patch 0/4] hw watchpoints across fork() + multi-inf > > > > > > which I am rebasing now on top of HEAD which already reimplements its part by > > > commit 96fd921972966166fda0eb300bfa4e5479f3b31f > > > Author: Pedro Alves > > > Date: Fri Jul 22 16:58:30 2011 +0000 > > > http://sourceware.org/ml/gdb-patches/2011-07/msg00586.html > > > > You mean you were already pulling in this non-stop change from > > gdbserver? :-( > > Last time you stopped that patchset due to referenced merging with gdbserver > http://sourceware.org/ml/gdb-patches/2010-12/msg00348.html As seen on that email, the main objections were: " gdbserver already has a per-process structure for the debug registers, yet, your implementation is different, which makes it gratuitously harder to share and move code between the gdb and gdbserver implementations. " " gdbserver gets away without the iteration over all threads setting the debug registers synchronously, which merged to native gdb, I think could get rid of some of the churn in your patches, I think, in addition to fixing watchpoints in non-stop mode (PR10729). " The latter is what my patch now brings to gdb. In my mind, I was even helping get those patches closer to being mainlined... > which AFAIK Yao Qi was working on but which has not yet happened, so not sure > how more years it cannot get merged. The patches I mentioned that would move some shareable bits of gdb and gdbserver into common/, seeding the way to duplication removal were Kwok's. They are in now. Note, seeding, not getting rid of the all the duplication. Yao's common/ work earlier in the year was a personal effort, AFAIK. > It was probably my wrong assumption for > the last year the i386-nat.c merging with gdbserver was being worked on while > in fact you only mentioned it would be good to do. Right. There's chances I may be able to help with the effort of merging target side code between gdb and gdbserver next year, but no promises. AFAICS, Ulrich has actually been quietly taking the lead, pushing to gdbserver features currently only native debugging supports. > > --- a/gdb/mi/mi-main.c > > +++ b/gdb/mi/mi-main.c > > @@ -1743,12 +1743,11 @@ mi_cmd_list_target_features (char *command, char **argv, int argc) > > struct cleanup *cleanup = NULL; > > struct ui_out *uiout = current_uiout; > > > > - cleanup = make_cleanup_ui_out_list_begin_end (uiout, "features"); > > + cleanup = make_cleanup_ui_out_list_begin_end (uiout, "features"); > > if (target_can_async_p ()) > > ui_out_field_string (uiout, NULL, "async"); > > if (target_can_execute_reverse) > > ui_out_field_string (uiout, NULL, "reverse"); > > - > > do_cleanups (cleanup); > > return; > > } > > Unrelated whitespace cleanup only. Not present in the ChangeLog. Whoops. Not supposed to be there. Thanks. -- Pedro Alves