From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 80695 invoked by alias); 8 Dec 2016 18:53:22 -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 80623 invoked by uid 89); 8 Dec 2016 18:53:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=cambridge, Cambridge, programme, sri X-Spam-User: qpsmtpd, 2 recipients X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 08 Dec 2016 18:53:12 +0000 Received: from svr-orw-mbx-03.mgc.mentorg.com ([147.34.90.203]) by relay1.mentorg.com with esmtp id 1cF3oc-0000yi-Et from Luis_Gustavo@mentor.com ; Thu, 08 Dec 2016 10:53:10 -0800 Received: from [172.30.6.208] (147.34.91.1) by svr-orw-mbx-03.mgc.mentorg.com (147.34.90.203) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 8 Dec 2016 10:53:07 -0800 Subject: Re: [PATCH v2 3/3] Add native target for FreeBSD/mips. References: <20161206210015.40422-1-jhb@FreeBSD.org> <20161206210015.40422-4-jhb@FreeBSD.org> To: John Baldwin , , Reply-To: Luis Machado From: Luis Machado Message-ID: <472bfba9-72b3-4432-95d9-e4b523667d1f@codesourcery.com> Date: Thu, 08 Dec 2016 18:53:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20161206210015.40422-4-jhb@FreeBSD.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: svr-orw-mbx-01.mgc.mentorg.com (147.34.90.201) To svr-orw-mbx-03.mgc.mentorg.com (147.34.90.203) X-IsSubscribed: yes X-SW-Source: 2016-12/txt/msg00214.txt.bz2 On 12/06/2016 03:00 PM, John Baldwin wrote: > This supports the o32 and n64 ABIs. > > gdb/ChangeLog: > > * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c. > * config/mips/fbsd.mh: New file. > * configure.host: Add mips*-*-freebsd*. > * mips-fbsd-nat.c: New file. > --- > gdb/ChangeLog | 7 +++ > gdb/Makefile.in | 1 + > gdb/config/mips/fbsd.mh | 3 ++ > gdb/configure.host | 1 + > gdb/mips-fbsd-nat.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++ > 5 files changed, 153 insertions(+) > create mode 100644 gdb/config/mips/fbsd.mh > create mode 100644 gdb/mips-fbsd-nat.c > > diff --git a/gdb/ChangeLog b/gdb/ChangeLog > index 890702e..fc43f81 100644 > --- a/gdb/ChangeLog > +++ b/gdb/ChangeLog > @@ -1,5 +1,12 @@ > 2016-12-06 John Baldwin > > + * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c. > + * config/mips/fbsd.mh: New file. > + * configure.host: Add mips*-*-freebsd*. > + * mips-fbsd-nat.c: New file. > + > +2016-12-06 John Baldwin > + > * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o. > (ALLDEPFILES): Add mips-fbsd-tdep.c. > * configure.tgt: Add mips*-*-freebsd*. > diff --git a/gdb/Makefile.in b/gdb/Makefile.in > index e34fa4a..dee9d73 100644 > --- a/gdb/Makefile.in > +++ b/gdb/Makefile.in > @@ -2542,6 +2542,7 @@ ALLDEPFILES = \ > microblaze-linux-tdep.c \ > microblaze-tdep.c \ > mingw-hdep.c \ > + mips-fbsd-nat.c \ > mips-fbsd-tdep.c \ > mips-linux-nat.c \ > mips-linux-tdep.c \ > diff --git a/gdb/config/mips/fbsd.mh b/gdb/config/mips/fbsd.mh > new file mode 100644 > index 0000000..f433347 > --- /dev/null > +++ b/gdb/config/mips/fbsd.mh > @@ -0,0 +1,3 @@ > +# Host: FreeBSD/mips > +NATDEPFILES= fork-child.o inf-ptrace.o fbsd-nat.o mips-fbsd-nat.o > +HAVE_NATIVE_GCORE_HOST = 1 I suppose you tried the gcore command for native GDB on FreeBSD/MIPS and it worked fine? > diff --git a/gdb/configure.host b/gdb/configure.host > index ef265eb..c45f61d 100644 > --- a/gdb/configure.host > +++ b/gdb/configure.host > @@ -129,6 +129,7 @@ m88*-*-openbsd*) gdb_host=obsd ;; > mips*-*-linux*) gdb_host=linux ;; > mips*-*-netbsd* | mips*-*-knetbsd*-gnu) > gdb_host=nbsd ;; > +mips*-*-freebsd*) gdb_host=fbsd ;; > mips64*-*-openbsd*) gdb_host=obsd64 ;; > > powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*) > diff --git a/gdb/mips-fbsd-nat.c b/gdb/mips-fbsd-nat.c > new file mode 100644 > index 0000000..ec1dcd8 > --- /dev/null > +++ b/gdb/mips-fbsd-nat.c > @@ -0,0 +1,141 @@ > +/* Native-dependent code for FreeBSD/mips. > + > + Copyright (C) 2016 Free Software Foundation, Inc. > + > + This software was developed by SRI International and the University > + of Cambridge Computer Laboratory under DARPA/AFRL contract > + FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research > + programme. > + > + This file is part of GDB. > + > + This program is free software; you can redistribute it and/or modify > + it under the terms of the GNU General Public License as published by > + the Free Software Foundation; either version 3 of the License, or > + (at your option) any later version. > + > + This program is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + GNU General Public License for more details. > + > + You should have received a copy of the GNU General Public License > + along with this program. If not, see . */ > + > +#include "defs.h" > +#include "inferior.h" > +#include "regcache.h" > +#include "target.h" > + > +#include > +#include > +#include > + > +#include "fbsd-nat.h" > +#include "mips-tdep.h" > +#include "mips-fbsd-tdep.h" > +#include "inf-ptrace.h" > + > +/* Determine if PT_GETREGS fetches this register. */ > + > +static bool > +getregs_supplies (struct gdbarch *gdbarch, int regnum) > +{ > + return ((regnum) >= MIPS_ZERO_REGNUM > + && (regnum) <= gdbarch_pc_regnum (gdbarch)); > +} > + Not sure we need the extra ()'s around regnum. Otherwise i have no further comments on this one. I'm guessing someone from binutils' side will want to validate 1/3. Thanks, Luis