From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32319 invoked by alias); 24 Oct 2007 14:56:24 -0000 Received: (qmail 32310 invoked by uid 22791); 24 Oct 2007 14:56:23 -0000 X-Spam-Check-By: sourceware.org Received: from igw1.br.ibm.com (HELO igw1.br.ibm.com) (32.104.18.24) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 24 Oct 2007 14:56:20 +0000 Received: from mailhub3.br.ibm.com (mailhub3 [9.18.232.110]) by igw1.br.ibm.com (Postfix) with ESMTP id E251532C015 for ; Wed, 24 Oct 2007 12:53:51 -0200 (BRDT) Received: from d24av02.br.ibm.com (d24av02.br.ibm.com [9.18.232.47]) by mailhub3.br.ibm.com (8.13.8/8.13.8/NCO v8.5) with ESMTP id l9OEuFrS2506950 for ; Wed, 24 Oct 2007 12:56:16 -0200 Received: from d24av02.br.ibm.com (loopback [127.0.0.1]) by d24av02.br.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l9OEuEeP023094 for ; Wed, 24 Oct 2007 11:56:15 -0300 Received: from [9.18.238.24] ([9.18.238.24]) by d24av02.br.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id l9OEuDcc023015; Wed, 24 Oct 2007 11:56:14 -0300 Subject: Re: [rfc, rfa/doc] Multi-threaded watchpoint improvements From: Luis Machado Reply-To: luisgpm@linux.vnet.ibm.com To: Daniel Jacobowitz Cc: gdb-patches@sourceware.org In-Reply-To: <20071001002015.GA15835@caradoc.them.org> References: <20070916183949.GA23966@caradoc.them.org> <20071001002015.GA15835@caradoc.them.org> Content-Type: text/plain Date: Wed, 24 Oct 2007 14:59:00 -0000 Message-Id: <1193241369.4316.4.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: 7bit 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: 2007-10/txt/msg00581.txt.bz2 Daniel, Somehow this patch has broken ppc software/hardware watchpoints. They won't trigger anymore, no matter what, but they're still being correctly created though. I'm not sure exactly where the problem is, but they trigger when i revert this patch. It might be something on infrun.c involving stopped_by_watchpoint. I'll keep on looking at the code. If you need further details, i can provide it. Regards, On Sun, 2007-09-30 at 20:20 -0400, Daniel Jacobowitz wrote: > On Sun, Sep 16, 2007 at 02:39:49PM -0400, Daniel Jacobowitz wrote: > > I have (finally, sorry for the delay) finished revamping the > > multi-threaded watchpoint patches Jeff submitted ages ago and Luis > > resubmitted recently. This message contains all the changes except > > for various native GNU/Linux target files. It includes manual and > > gdbint changes describing what I've figured out to date. > > Here's the version I've checked in. There was a merge conflict in > breakpoint.c, at the end of bpstat_stop_status. I think the code I'm > removing is wrong - b->type refers back to the breakpoint b inside the > loop, not necessarily the one in the bpstat. > > -- > Daniel Jacobowitz > CodeSourcery > > 2007-09-30 Daniel Jacobowitz > Jeff Johnston > > * breakpoint.c (watchpoints_triggered): New. > (bpstat_stop_status): Remove STOPPED_BY_WATCHPOINT argument. > Check watchpoint_triggered instead. Combine handling for software > and hardware watchpoints. Do not use target_stopped_data_address > here. Always check a watchpoint if its scope breakpoint triggers. > Do not stop for thread or overlay events. Improve check for > triggered watchpoints without a value change. > (watch_command_1): Insert the scope breakpoint first. Link the > scope breakpoint to the watchpoint. > * breakpoint.h (enum watchpoint_triggered): New. > (struct breakpoint): Add watchpoint_triggered. > (bpstat_stop_status): Update prototype. > (watchpoints_triggered): Declare. > * infrun.c (enum infwait_status): Add infwait_step_watch_state. > (stepped_after_stopped_by_watchpoint): Delete. > (handle_inferior_event): Make stepped_after_stopped_by_watchpoint > local. Handle infwait_step_watch_state. Update calls to > bpstat_stop_status. Use watchpoints_triggered to check > watchpoints. > * remote.c (stepped_after_stopped_by_watchpoint): Remove extern. > (remote_stopped_data_address): Do not check it. > > 2007-09-30 Daniel Jacobowitz > > * gdb.texinfo (Setting Watchpoints): Adjust warning text about > multi-threaded watchpoints. > * gdbint.texinfo (Watchpoints): Describe how watchpoints are > checked. Describe sticky notification. Expand description > of steppable and continuable watchpoints. > (Watchpoints and Threads): New subsection. > > 2007-09-30 Daniel Jacobowitz > > * gdb.threads/watchthreads.c (thread_function): Sleep between > iterations. > * gdb.threads/watchthreads.exp: Allow two watchpoints to trigger > at once for S/390. Generate matching fails and passes. -- Luis Machado IBM Linux Technology Center e-mail: luisgpm@linux.vnet.ibm.com