From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15902 invoked by alias); 22 Jul 2004 19:19:36 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 15838 invoked from network); 22 Jul 2004 19:19:36 -0000 Received: from unknown (HELO aragorn.inter.net.il) (192.114.186.23) by sourceware.org with SMTP; 22 Jul 2004 19:19:36 -0000 Received: from zaretski ([80.230.148.60]) by aragorn.inter.net.il (MOS 3.4.6-GR) with ESMTP id DWO03398; Thu, 22 Jul 2004 22:19:12 +0300 (IDT) Date: Thu, 22 Jul 2004 19:19:00 -0000 From: "Eli Zaretskii" To: Orjan Friberg Message-Id: <6654-Thu22Jul2004221755+0300-eliz@gnu.org> CC: gdb-patches@sources.redhat.com In-reply-to: <40FF8C69.8050408@axis.com> (message from Orjan Friberg on Thu, 22 Jul 2004 11:44:09 +0200) Subject: Re: recurse.exp: watch on local variable that goes out of scope Reply-to: Eli Zaretskii References: <40FD2E1F.7070403@axis.com> <9787-Tue20Jul2004223539+0300-eliz@gnu.org> <40FF8C69.8050408@axis.com> X-SW-Source: 2004-07/txt/msg00312.txt.bz2 > Date: Thu, 22 Jul 2004 11:44:09 +0200 > From: Orjan Friberg > > Breakpoint 4, i386_stopped_data_address () at ../../src/gdb/i386-nat.c:576 > 576 dr_status_mirror = I386_DR_LOW_GET_STATUS (); > > Inside i386_stopped_data_address dr_status_mirror = 0xffff4ff1, which satisfies > the condition for I386_DR_WATCH_HIT (i) for i == 0. The reported address is > 0xbffff488 (the address of local variable b). So it sounds like your low-level target-side support misbehaves in this case: I386_DR_LOW_GET_STATUS should map into a system call that returns the contents of the DR6 debug register. If the returned value says that one of the watched addresses was written to, there's nothing GDB can do except report that and act accordingly. > I fail to see why these two cases should be different. Neither do I, but I'm not an expert for your target platform.