From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20711 invoked by alias); 26 Apr 2010 11:50:38 -0000 Received: (qmail 20652 invoked by uid 22791); 26 Apr 2010 11:50:36 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,MSGID_MULTIPLE_AT X-Spam-Check-By: sourceware.org Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.200.154) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 26 Apr 2010 11:50:28 +0000 Received: from baal.u-strasbg.fr (baal.u-strasbg.fr [IPv6:2001:660:2402::41]) by mailhost.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id o3QBo0VD087433 ; Mon, 26 Apr 2010 13:50:00 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from mailserver.u-strasbg.fr (ms3.u-strasbg.fr [IPv6:2001:660:2402:d::12]) by baal.u-strasbg.fr (8.14.0/jtpda-5.5pre1) with ESMTP id o3QBo0LA063753 ; Mon, 26 Apr 2010 13:50:00 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from d620muller (gw-ics.u-strasbg.fr [130.79.210.225]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id o3QBo08H066789 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) ; Mon, 26 Apr 2010 13:50:00 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) From: "Pierre Muller" To: "'Pedro Alves'" Cc: "'Eli Zaretskii'" , , "'Joel Brobecker'" References: <000301cae303$d6d068b0$84713a10$@muller@ics-cnrs.unistra.fr> <201004252110.20098.pedro@codesourcery.com> <003c01cae515$41e52290$c5af67b0$@muller@ics-cnrs.unistra.fr> <201004261226.38885.pedro@codesourcery.com> In-Reply-To: <201004261226.38885.pedro@codesourcery.com> Subject: RE: [RFA- v2] Remove CANNOT_STEP_HW_WATCHPOINTS related code (was fix for bug 11531) Date: Mon, 26 Apr 2010 11:50:00 -0000 Message-ID: <005a01cae536$9ec66fc0$dc534f40$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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: 2010-04/txt/msg00862.txt.bz2 > -----Message d'origine----- > De=A0: gdb-patches-owner@sourceware.org [mailto:gdb-patches- > owner@sourceware.org] De la part de Pedro Alves > Envoy=E9=A0: Monday, April 26, 2010 1:27 PM > =C0=A0: Pierre Muller > Cc=A0: 'Eli Zaretskii'; gdb-patches@sourceware.org; 'Joel Brobecker' > Objet=A0: Re: [RFA- v2] Remove CANNOT_STEP_HW_WATCHPOINTS related code > (was fix for bug 11531) >=20 > On Monday 26 April 2010 08:51:18, Pierre Muller wrote: > > Is this patch OK? >=20 > This is going in circles, but, why didn't you remove the macro > definition and the whole comment around it from the nm file? Done here, with configure.tgt part removed. The macro only appears in ChangeLog after this patch. What about that version? Pierre ChangeLog entry: 2010-04-26 Pierre Muller PR breakpoints/11531. * config/i386/nm-i386sol2.h (CANNOT_STEP_HW_WATCHPOINTS): Remove macro definition and related comment. * infrun.c (CANNOT_STEP_HW_WATCHPOINTS): Remove macro. (resume): Remove code and comment related to this macro. doc ChangeLog entry: 2010-04-26 Pierre Muller * gdbint.texinfo (CANNOT_STEP_HW_WATCHPOINTS): Remove explanation of macro deleted from GDB code. Index: config/i386/nm-i386sol2.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/config/i386/nm-i386sol2.h,v retrieving revision 1.19 diff -u -p -r1.19 nm-i386sol2.h --- config/i386/nm-i386sol2.h 1 Jan 2010 07:31:48 -0000 1.19 +++ config/i386/nm-i386sol2.h 26 Apr 2010 11:44:55 -0000 @@ -19,14 +19,4 @@ =20 #ifdef NEW_PROC_API /* Solaris 6 and above can do HW watchpoints */ =20 -/* Solaris x86 2.6 and 2.7 targets have a kernel bug when stepping - over an instruction that causes a page fault without triggering - a hardware watchpoint. The kernel properly notices that it shouldn't - stop, because the hardware watchpoint is not triggered, but it forgets - the step request and continues the program normally. - Work around the problem by removing hardware watchpoints if a step is - requested, GDB will check for a hardware watchpoint trigger after the - step anyway. */ -#define CANNOT_STEP_HW_WATCHPOINTS - #endif /* NEW_PROC_API */ Index: infrun.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/infrun.c,v retrieving revision 1.435 diff -u -p -r1.435 infrun.c --- infrun.c 25 Mar 2010 20:48:53 -0000 1.435 +++ infrun.c 26 Apr 2010 11:44:52 -0000 @@ -179,16 +179,6 @@ show_debug_infrun (struct ui_file *file, #endif =20 =20 -/* Convert the #defines into values. This is temporary until wfi control - flow is completely sorted out. */ - -#ifndef CANNOT_STEP_HW_WATCHPOINTS -#define CANNOT_STEP_HW_WATCHPOINTS 0 -#else -#undef CANNOT_STEP_HW_WATCHPOINTS -#define CANNOT_STEP_HW_WATCHPOINTS 1 -#endif - /* Tables of how to react to signals; the user sets them. */ =20 static unsigned char *signal_stop; @@ -1484,18 +1474,6 @@ resume (int step, enum target_signal sig "trap_expected=3D%d\n", step, sig, tp->trap_expected); =20 - /* Some targets (e.g. Solaris x86) have a kernel bug when stepping - over an instruction that causes a page fault without triggering - a hardware watchpoint. The kernel properly notices that it shouldn't - stop, because the hardware watchpoint is not triggered, but it forgets - the step request and continues the program normally. - Work around the problem by removing hardware watchpoints if a step is - requested, GDB will check for a hardware watchpoint trigger after the - step anyway. */ - if (CANNOT_STEP_HW_WATCHPOINTS && step) - remove_hw_watchpoints (); - - /* Normally, by the time we reach `resume', the breakpoints are either removed or inserted, as appropriate. The exception is if we're sitting at a permanent breakpoint; we need to step over it, but permanent Index: doc/gdbint.texinfo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v retrieving revision 1.321 diff -u -p -r1.321 gdbint.texinfo --- doc/gdbint.texinfo 10 Mar 2010 18:20:07 -0000 1.321 +++ doc/gdbint.texinfo 26 Apr 2010 11:44:55 -0000 @@ -781,11 +781,6 @@ inferior after a watchpoint has been hit when watchpoints trigger at the instruction following an interesting read or write. =20 -@findex CANNOT_STEP_HW_WATCHPOINTS -@item CANNOT_STEP_HW_WATCHPOINTS -If this is defined to a non-zero value, @value{GDBN} will remove all -watchpoints before stepping the inferior. - @findex STOPPED_BY_WATCHPOINT @item STOPPED_BY_WATCHPOINT (@var{wait_status}) Return non-zero if stopped by a watchpoint. @var{wait_status} is of