From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19706 invoked by alias); 9 Apr 2010 20:07:09 -0000 Received: (qmail 19696 invoked by uid 22791); 9 Apr 2010 20:07:07 -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.155) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 09 Apr 2010 20:07:03 +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 o39K6uCI054949 ; Fri, 9 Apr 2010 22:06:56 +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 o39K6uuc052868 ; Fri, 9 Apr 2010 22:06:56 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from d620muller (lec67-4-82-230-53-140.fbx.proxad.net [82.230.53.140]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id o39K6tbp063705 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) ; Fri, 9 Apr 2010 22:06:55 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) From: "Pierre Muller" To: Cc: "'Pieter Maljaars'" , "'Joseph S. Myers'" , "'Pedro Alves'" Subject: Question about solaris CANNOT_STEP_HW_WATCHPOINTS macro Date: Fri, 09 Apr 2010 20:07:00 -0000 Message-ID: <001501cad820$36771f50$a3655df0$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-04/txt/msg00039.txt.bz2 The macro CANNOT_STEP_HW_WATCHPOINTS is currently only defined at one location in the whole gdb sources: gdb/config/i386/nm-i386sol2.h with the following comment: /* 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. */ I would like to know if any of the solaris gurus around knows if this bug is still present in newer version of the solaris kernel or at which version it has been fixed. I looked into OpenSolaris sources, but watchpoint.c (which is where I suspect hardware watchpoints are handled) was not updated since OpenSolaris launch in June 2005. On the other hand, the macro seems to have been introduced into the configuration file back in April 2000 (revision 1.3 of current CVS tree). So this leaves about 5 years for a possible fix inside the Solaris kernel. If this bug has been solve before 2.9 version of Solaris, would it be reasonable to just drop that code out? Pieter, did you consider that issue when writing the gdbserver port for Solaris? Pierre Muller Pascal language support maintainer for GDB