From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7323 invoked by alias); 24 Jul 2013 00:26:44 -0000 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 Received: (qmail 7311 invoked by uid 89); 24 Jul 2013 00:26:44 -0000 X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_50,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RDNS_NONE autolearn=no version=3.3.1 Received: from Unknown (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 24 Jul 2013 00:26:43 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1V1mua-00065T-3O from Maciej_Rozycki@mentor.com for gdb-patches@sourceware.org; Tue, 23 Jul 2013 17:26:36 -0700 Received: from SVR-IES-FEM-02.mgc.mentorg.com ([137.202.0.106]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 23 Jul 2013 17:26:36 -0700 Received: from [172.30.64.136] (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.2.247.3; Wed, 24 Jul 2013 01:26:34 +0100 Date: Wed, 24 Jul 2013 00:26:00 -0000 From: "Maciej W. Rozycki" To: Yao Qi CC: Subject: Re: [PATCH 2/5] Include asm/ptrace.h in mips-linux-nat.c In-Reply-To: <1372475427-24862-3-git-send-email-yao@codesourcery.com> Message-ID: References: <1369881867-11372-1-git-send-email-yao@codesourcery.com> <1372475427-24862-1-git-send-email-yao@codesourcery.com> <1372475427-24862-3-git-send-email-yao@codesourcery.com> User-Agent: Alpine 1.10 (DEB 962 2008-03-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-SW-Source: 2013-07/txt/msg00550.txt.bz2 On Sat, 29 Jun 2013, Yao Qi wrote: > 2013-06-29 Yao Qi > > * mips-linux-nat.c (MAX_DEBUG_REGISTER): Move it earlier in > the code. > (enum pt_watch_style): Remove. > (struct mips32_watch_regs, struct mips64_watch_regs): Remove. > (struct pt_watch_regs): Likewise. > [!PTRACE_GET_WATCH_REGS] (enum pt_watch_style): New. > [!PTRACE_GET_WATCH_REGS] (struct mips32_watch_regs): New. > [!PTRACE_GET_WATCH_REGS] (struct mips64_watch_regs): New. > [!PTRACE_GET_WATCH_REGS] (struct pt_watch_regs): New. > --- > gdb/mips-linux-nat.c | 39 ++++++++++++++++++++++----------------- > 1 files changed, 22 insertions(+), 17 deletions(-) > > diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c > index d323a82..44d23a6 100644 > --- a/gdb/mips-linux-nat.c > +++ b/gdb/mips-linux-nat.c > @@ -460,31 +461,19 @@ mips_linux_read_description (struct target_ops *ops) > return have_dsp ? tdesc_mips64_dsp_linux : tdesc_mips64_linux; > } > > -#ifndef PTRACE_GET_WATCH_REGS > -# define PTRACE_GET_WATCH_REGS 0xd0 > -#endif > - > -#ifndef PTRACE_SET_WATCH_REGS > -# define PTRACE_SET_WATCH_REGS 0xd1 > -#endif > - > -#define W_BIT 0 > -#define R_BIT 1 > -#define I_BIT 2 > +#define MAX_DEBUG_REGISTER 8 > > -#define W_MASK (1 << W_BIT) > -#define R_MASK (1 << R_BIT) > -#define I_MASK (1 << I_BIT) > +/* If macro PTRACE_GET_WATCH_REGS is not defined, kernel header doesn't > + have hardware watchpoint-related structures. Define them below. */ > > -#define IRW_MASK (I_MASK | R_MASK | W_MASK) > +#ifndef PTRACE_GET_WATCH_REGS > +# define PTRACE_GET_WATCH_REGS 0xd0 > > enum pt_watch_style { > pt_watch_style_mips32, > pt_watch_style_mips64 > }; > > -#define MAX_DEBUG_REGISTER 8 > - > /* A value of zero in a watchlo indicates that it is available. */ > > struct mips32_watch_regs > @@ -524,6 +513,22 @@ struct pt_watch_regs > }; > }; > > +#endif #endif /* !PTRACE_GET_WATCH_REGS */ please. > + > +#ifndef PTRACE_SET_WATCH_REGS > +# define PTRACE_SET_WATCH_REGS 0xd1 > +#endif With the inclusion of the kernel header I think there's no need to wrap this definition separately -- a system header configuration where PTRACE_GET_WATCH_REGS is defined but PTRACE_SET_WATCH_REGS is not would be broken and could not be relied upon anyway. Please just use: #ifndef PTRACE_GET_WATCH_REGS # define PTRACE_GET_WATCH_REGS 0xd0 # define PTRACE_SET_WATCH_REGS 0xd1 [...] instead. OK with these changes, thanks. Maciej