From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25232 invoked by alias); 7 Apr 2002 16:16:27 -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 25201 invoked from network); 7 Apr 2002 16:16:24 -0000 Received: from unknown (HELO localhost.redhat.com) (24.112.240.27) by sources.redhat.com with SMTP; 7 Apr 2002 16:16:24 -0000 Received: from cygnus.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 0B3803CBF; Sun, 7 Apr 2002 12:16:23 -0400 (EDT) Message-ID: <3CB070D6.7060902@cygnus.com> Date: Sun, 07 Apr 2002 09:16:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:0.9.9) Gecko/20020328 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Daniel Jacobowitz , Eli Zaretskii Cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] Fix watchpoints when stepping over a breakpoint References: <20020402184333.A8464@nevyn.them.org> <6480-Fri05Apr2002103430+0300-eliz@is.elta.co.il> <20020405105416.A14105@nevyn.them.org> <9743-Fri05Apr2002194115+0300-eliz@is.elta.co.il> <20020405120851.A17113@nevyn.them.org> <4331-Sat06Apr2002104144+0300-eliz@is.elta.co.il> <20020406103621.A12359@nevyn.them.org> <2950-Sat06Apr2002201725+0300-eliz@is.elta.co.il> <20020406124912.A24394@nevyn.them.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2002-04/txt/msg00250.txt.bz2 > No. In my original message I made a comment about shlib_event >> > breakpoints being a problem. Other breakpoints would to. This is all >> > because of the "watchpoint after instr, breakpoint before" thing - we >> > would still have to deal with this, or we'd just keep hitting the same >> > breakpoint over and over if there was a watchpoint on the next >> > instruction. > >> >> Sounds like Andrew was right: the decrement-PC logic is screwed. > > > I agree. It's a rat's nest. Only two targets use DECR_PC_AFTER_BREAK - m68k and i386. Core GDB contans all all sorts of convoluted logic for what is a target problem :-( What would it take to replace DECR_PC_AFTER_BREAK with a read_pc() function that determines the stop address from the i386 hardware registers and other state information? (The m68k isn't multi-arch so I can fix that one by deleting it :-^) Andrew