From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 79658 invoked by alias); 16 Jul 2015 08:14:24 -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 79620 invoked by uid 89); 16 Jul 2015 08:14:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 16 Jul 2015 08:14:17 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id EA3E42BDB24; Thu, 16 Jul 2015 08:14:15 +0000 (UTC) Received: from blade.nx (ovpn-116-104.ams2.redhat.com [10.36.116.104]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t6G8EDqh031963; Thu, 16 Jul 2015 04:14:14 -0400 Received: by blade.nx (Postfix, from userid 1000) id 66D8D2642C1; Thu, 16 Jul 2015 09:14:12 +0100 (BST) Date: Thu, 16 Jul 2015 08:14:00 -0000 From: Gary Benson To: Jan Kratochvil Cc: Pedro Alves , gdb-patches@sourceware.org, Aleksandar Ristovski Subject: Re: [PATCH v10 04/10] Create empty common/linux-maps.[ch] and common/target-utils.[ch] Message-ID: <20150716081412.GA4954@blade.nx> References: <20150607200422.8918.48900.stgit@host1.jankratochvil.net> <20150607200454.8918.52868.stgit@host1.jankratochvil.net> <20150608083733.GA5405@blade.nx> <20150715212028.GA22133@host1.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150715212028.GA22133@host1.jankratochvil.net> X-IsSubscribed: yes X-SW-Source: 2015-07/txt/msg00467.txt.bz2 Jan Kratochvil wrote: > On Mon, 08 Jun 2015 10:37:33 +0200, Gary Benson wrote: > > A bunch of stuff has changed in the way common code is laid out > > since May 2014, so while Tom approved this back then, it's not > > suitable any more. Please update the series as follows: > > > > > * common/linux-maps.c: New file. > > > * common/linux-maps.h: New file. > > > > Nothing os-specific should be in common. These files should be > > nat/linux-maps.[ch]. > > While I have done so I do not share this opinion. linux-maps.[ch] > is used from linux-tdep.c and not from linux-nat.c. linux-tdep.c is > using common/* files a lot but it uses no function from nat/*: > > $ for i in $(for i in common/*.c;do nm `basename $i .c`.o;done|sed -n 's/^.* T //p');do grep -q "\<$i (" linux-tdep.c && echo $i;done|wc -l > 17 > $ for i in $(for i in nat/*.c;do nm `basename $i .c`.o;done|sed -n 's/^.* T //p');do grep -q "\<$i (" linux-tdep.c && echo $i;done|wc -l > 0 > (commands above assume in-src-tree build) > > Additionally linux-maps.o should not be in config/**.mh::NATDEPFILES > (like linux-namespaces.o from nat/ ) but it needs to be in > configure.tgt instead. > > Should be linux-maps.[ch] therefore in nat/ or in common/ ? > If it matters, though. I don't fully understand the tdep/non-tdep split very well. Pedro, could you comment? Cheers, Gary > commit 0f08cd383c254274afe44a5a87edc4435977ef22 > Author: Jan Kratochvil > Date: Wed Jul 15 17:37:27 2015 +0200 > > Create empty nat/linux-maps.[ch] and common/target-utils.[ch] > > Prepare new files for later move. > > gdb/ChangeLog > 2015-07-15 Aleksandar Ristovski Jan Kratochvil > > Create empty nat/linux-maps.[ch] and common/target-utils.[ch]. > * Makefile.in (HFILES_NO_SRCDIR); Add nat/linux-maps.h, > common/target-utils.h. > (COMMON_OBS): Add target-utils.o. > (linux-maps.o, target-utils.o): New. > * target/target-utils.c: New file. > * target/target-utils.h: New file. > * nat/linux-maps.c: New file. > * nat/linux-maps.h: New file. > * configure.tgt (aarch64*-*-linux*, alpha*-*-linux*) > (am33_2.0*-*-linux*, arm*-*-linux*, bfin-*-*linux*, cris*, frv-*-*) > (hppa*-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*) > (m68*-*-linux*, microblaze*-linux-*, microblaze*-*-linux*) > (mips*-*-linux*, nios2*-*-linux*, powerpc*-*-linux*, s390*-*-linux*) > (sh*-*-linux*, sparc-*-linux*, sparc64-*-linux*, tic6x-*-*linux) > (tilegx-*-linux*, x86_64-*-linux*, xtensa*-*-linux*): Add linux-maps.o > to gdb_target_obs. > > gdb/gdbserver/ChangeLog > 2015-07-15 Aleksandar Ristovski Jan Kratochvil > > Create empty nat/linux-maps.[ch] and common/target-utils.[ch]. > * Makefile.in (OBS): Add target-utils.o. > (linux-maps.o, target-utils.o): New. > * configure.srv (srv_linux_obj): Add linux-maps.o. > > diff --git a/gdb/Makefile.in b/gdb/Makefile.in > index dfaa8a3..237da9d 100644 > --- a/gdb/Makefile.in > +++ b/gdb/Makefile.in > @@ -903,7 +903,7 @@ LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c > # right, it is probably easiest just to list .h files here directly. > > HFILES_NO_SRCDIR = \ > -common/gdb_signals.h nat/gdb_thread_db.h common/gdb_vecs.h \ > +common/gdb_signals.h nat/gdb_thread_db.h common/gdb_vecs.h nat/linux-maps.h \ > common/x86-xstate.h nat/linux-ptrace.h nat/mips-linux-watch.h \ > proc-utils.h aarch64-tdep.h arm-tdep.h ax-gdb.h ppcfbsd-tdep.h \ > ppcnbsd-tdep.h cli-out.h gdb_expat.h breakpoint.h infcall.h obsd-tdep.h \ > @@ -983,7 +983,7 @@ common/common-debug.h common/cleanups.h common/gdb_setjmp.h \ > common/common-exceptions.h target/target.h common/symbol.h \ > common/common-regcache.h fbsd-tdep.h nat/linux-personality.h \ > common/fileio.h nat/x86-linux.h nat/x86-linux-dregs.h \ > -nat/linux-namespaces.h > +nat/linux-namespaces.h target/target-utils.h > > # Header files that already have srcdir in them, or which are in objdir. > > @@ -1083,7 +1083,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \ > common-utils.o buffer.o ptid.o gdb-dlfcn.o common-agent.o \ > format.o registry.o btrace.o record-btrace.o waitstatus.o \ > print-utils.o rsp-low.o errors.o common-debug.o debug.o \ > - common-exceptions.o btrace-common.o fileio.o \ > + common-exceptions.o btrace-common.o fileio.o target-utils.o \ > $(SUBDIR_GCC_COMPILE_OBS) > > TSOBS = inflow.o > @@ -2221,6 +2221,10 @@ common-agent.o: $(srcdir)/common/agent.c > $(COMPILE) $(srcdir)/common/agent.c > $(POSTCOMPILE) > > +linux-maps.o: ${srcdir}/nat/linux-maps.c > + $(COMPILE) $(srcdir)/nat/linux-maps.c > + $(POSTCOMPILE) > + > vec.o: ${srcdir}/common/vec.c > $(COMPILE) $(srcdir)/common/vec.c > $(POSTCOMPILE) > @@ -2237,6 +2241,10 @@ errors.o: ${srcdir}/common/errors.c > $(COMPILE) $(srcdir)/common/errors.c > $(POSTCOMPILE) > > +target-utils.o: ${srcdir}/target/target-utils.c > + $(COMPILE) $(srcdir)/target/target-utils.c > + $(POSTCOMPILE) > + > common-debug.o: ${srcdir}/common/common-debug.c > $(COMPILE) $(srcdir)/common/common-debug.c > $(POSTCOMPILE) > diff --git a/gdb/configure.tgt b/gdb/configure.tgt > index f2c1a2d..20873c3 100644 > --- a/gdb/configure.tgt > +++ b/gdb/configure.tgt > @@ -45,7 +45,7 @@ aarch64*-*-linux*) > # Target: AArch64 linux > gdb_target_obs="aarch64-tdep.o aarch64-linux-tdep.o \ > arm-tdep.o arm-linux-tdep.o \ > - glibc-tdep.o linux-tdep.o solib-svr4.o \ > + glibc-tdep.o linux-tdep.o linux-maps.o solib-svr4.o \ > symfile-mem.o linux-record.o" > build_gdbserver=yes > ;; > @@ -53,7 +53,7 @@ aarch64*-*-linux*) > alpha*-*-linux*) > # Target: Little-endian Alpha running Linux > gdb_target_obs="alpha-tdep.o alpha-mdebug-tdep.o alpha-linux-tdep.o \ > - linux-tdep.o solib-svr4.o" > + linux-tdep.o linux-maps.o solib-svr4.o" > ;; > alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) > # Target: FreeBSD/alpha > @@ -79,7 +79,7 @@ alpha*-*-*) > am33_2.0*-*-linux*) > # Target: Matsushita mn10300 (AM33) running Linux > gdb_target_obs="mn10300-tdep.o mn10300-linux-tdep.o linux-tdep.o \ > - solib-svr4.o" > + linux-maps.o solib-svr4.o" > ;; > > arm*-wince-pe | arm*-*-mingw32ce*) > @@ -90,7 +90,8 @@ arm*-wince-pe | arm*-*-mingw32ce*) > arm*-*-linux*) > # Target: ARM based machine running GNU/Linux > gdb_target_obs="arm-tdep.o arm-linux-tdep.o glibc-tdep.o \ > - solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o" > + solib-svr4.o symfile-mem.o linux-tdep.o linux-maps.o \ > + linux-record.o" > build_gdbserver=yes > ;; > arm*-*-netbsd* | arm*-*-knetbsd*-gnu) > @@ -120,7 +121,7 @@ avr-*-*) > > bfin-*-*linux*) > # Target: Blackfin Linux > - gdb_target_obs="bfin-tdep.o bfin-linux-tdep.o linux-tdep.o" > + gdb_target_obs="bfin-tdep.o bfin-linux-tdep.o linux-tdep.o linux-maps.o" > gdb_sim=../sim/bfin/libsim.a > build_gdbserver=yes > ;; > @@ -132,12 +133,14 @@ bfin-*-*) > > cris*) > # Target: CRIS > - gdb_target_obs="cris-tdep.o cris-linux-tdep.o linux-tdep.o solib-svr4.o" > + gdb_target_obs="cris-tdep.o cris-linux-tdep.o linux-tdep.o \ > + linux-maps.o solib-svr4.o" > ;; > > frv-*-*) > # Target: Fujitsu FRV processor > - gdb_target_obs="frv-tdep.o frv-linux-tdep.o linux-tdep.o solib-frv.o" > + gdb_target_obs="frv-tdep.o frv-linux-tdep.o linux-tdep.o linux-maps.o \ > + solib-frv.o" > gdb_sim=../sim/frv/libsim.a > ;; > > @@ -155,7 +158,7 @@ h8300-*-*) > hppa*-*-linux*) > # Target: HP PA-RISC running Linux > gdb_target_obs="hppa-tdep.o hppa-linux-tdep.o glibc-tdep.o \ > - linux-tdep.o solib-svr4.o symfile-mem.o" > + linux-tdep.o linux-maps.o solib-svr4.o symfile-mem.o" > ;; > hppa*-*-netbsd*) > # Target: NetBSD/hppa > @@ -218,7 +221,7 @@ i[34567]86-*-linux*) > # Target: Intel 386 running GNU/Linux > gdb_target_obs="i386-tdep.o i386-linux-tdep.o glibc-tdep.o i387-tdep.o \ > solib-svr4.o symfile-mem.o \ > - linux-tdep.o linux-record.o" > + linux-tdep.o linux-maps.o linux-record.o" > if test "x$enable_64_bit_bfd" = "xyes"; then > # Target: GNU/Linux x86-64 > gdb_target_obs="amd64-tdep.o amd64-linux-tdep.o ${gdb_target_obs}" > @@ -249,7 +252,7 @@ i[34567]86-*-*) > ia64-*-linux*) > # Target: Intel IA-64 running GNU/Linux > gdb_target_obs="ia64-tdep.o ia64-linux-tdep.o linux-tdep.o \ > - solib-svr4.o symfile-mem.o" > + linux-maps.o solib-svr4.o symfile-mem.o" > build_gdbserver=yes > ;; > ia64-*-*vms*) > @@ -283,7 +286,7 @@ m32r*-*-linux*) > # Target: Renesas M32R running GNU/Linux > gdb_target_obs="m32r-tdep.o m32r-linux-tdep.o remote-m32r-sdi.o \ > glibc-tdep.o solib-svr4.o symfile-mem.o \ > - linux-tdep.o" > + linux-tdep.o linux-maps.o" > gdb_sim=../sim/m32r/libsim.a > build_gdbserver=yes > ;; > @@ -308,7 +311,7 @@ fido-*-elf*) > m68*-*-linux*) > # Target: Motorola m68k with a.out and ELF > gdb_target_obs="m68k-tdep.o m68klinux-tdep.o solib-svr4.o \ > - linux-tdep.o glibc-tdep.o symfile-mem.o" > + linux-tdep.o linux-maps.o glibc-tdep.o symfile-mem.o" > build_gdbserver=yes > ;; > m68*-*-netbsd* | m68*-*-knetbsd*-gnu) > @@ -334,7 +337,8 @@ mep-*-*) > microblaze*-linux-*|microblaze*-*-linux*) > # Target: Xilinx MicroBlaze running Linux > gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o microblaze-rom.o \ > - monitor.o dsrec.o solib-svr4.o symfile-mem.o linux-tdep.o" > + monitor.o dsrec.o solib-svr4.o symfile-mem.o \ > + linux-tdep.o linux-maps.o" > gdb_sim=../sim/microblaze/libsim.a > ;; > microblaze*-*-*) > @@ -346,7 +350,7 @@ microblaze*-*-*) > mips*-*-linux*) > # Target: Linux/MIPS > gdb_target_obs="mips-tdep.o mips-linux-tdep.o glibc-tdep.o \ > - solib-svr4.o symfile-mem.o linux-tdep.o" > + solib-svr4.o symfile-mem.o linux-tdep.o linux-maps.o" > gdb_sim=../sim/mips/libsim.a > build_gdbserver=yes > ;; > @@ -394,7 +398,7 @@ mt-*-*) > nios2*-*-linux*) > # Target: Altera Nios II running Linux > gdb_target_obs="nios2-tdep.o nios2-linux-tdep.o solib-svr4.o \ > - symfile-mem.o glibc-tdep.o linux-tdep.o" > + symfile-mem.o glibc-tdep.o linux-tdep.o linux-maps.o" > ;; > > nios2*-*-*) > @@ -433,7 +437,7 @@ powerpc*-*-linux*) > gdb_target_obs="rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o \ > ppc64-tdep.o solib-svr4.o solib-spu.o \ > spu-multiarch.o \ > - glibc-tdep.o symfile-mem.o linux-tdep.o \ > + glibc-tdep.o symfile-mem.o linux-tdep.o linux-maps.o \ > ravenscar-thread.o ppc-ravenscar-thread.o \ > linux-record.o " > gdb_sim=../sim/ppc/libsim.a > @@ -457,7 +461,7 @@ powerpc*-*-*) > > s390*-*-linux*) > # Target: S390 running Linux > - gdb_target_obs="s390-linux-tdep.o solib-svr4.o linux-tdep.o" > + gdb_target_obs="s390-linux-tdep.o solib-svr4.o linux-tdep.o linux-maps.o" > build_gdbserver=yes > ;; > > @@ -486,7 +490,7 @@ sh*-*-linux*) > # Target: GNU/Linux Super-H > gdb_target_obs="sh-tdep.o sh64-tdep.o sh-linux-tdep.o monitor.o \ > dsrec.o solib-svr4.o symfile-mem.o \ > - glibc-tdep.o linux-tdep.o" > + glibc-tdep.o linux-tdep.o linux-maps.o" > gdb_sim=../sim/sh/libsim.a > build_gdbserver=yes > ;; > @@ -514,7 +518,7 @@ sparc-*-linux*) > # Target: GNU/Linux SPARC > gdb_target_obs="sparc-tdep.o sparc-sol2-tdep.o sol2-tdep.o \ > sparc-linux-tdep.o solib-svr4.o symfile-mem.o \ > - linux-tdep.o \ > + linux-tdep.o linux-maps.o \ > ravenscar-thread.o sparc-ravenscar-thread.o" > if test "x$enable_64_bit_bfd" = "xyes"; then > # Target: GNU/Linux UltraSPARC > @@ -528,7 +532,8 @@ sparc64-*-linux*) > gdb_target_obs="sparc64-tdep.o sparc64-sol2-tdep.o sol2-tdep.o \ > sparc64-linux-tdep.o sparc-tdep.o sparc-sol2-tdep.o \ > sparc-linux-tdep.o solib-svr4.o linux-tdep.o \ > - ravenscar-thread.o sparc-ravenscar-thread.o" > + linux-maps.o ravenscar-thread.o \ > + sparc-ravenscar-thread.o" > build_gdbserver=yes > ;; > sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu) > @@ -595,7 +600,7 @@ spu*-*-*) > tic6x-*-*linux) > # Target: GNU/Linux TI C6x > gdb_target_obs="tic6x-tdep.o tic6x-linux-tdep.o solib-dsbt.o \ > - glibc-tdep.o linux-tdep.o" > + glibc-tdep.o linux-tdep.o linux-maps.o" > ;; > > tic6x-*-*) > @@ -606,7 +611,7 @@ tic6x-*-*) > tilegx-*-linux*) > # Target: TILE-Gx > gdb_target_obs="tilegx-tdep.o tilegx-linux-tdep.o solib-svr4.o \ > - symfile-mem.o glibc-tdep.o linux-tdep.o" > + symfile-mem.o glibc-tdep.o linux-tdep.o linux-maps.o" > build_gdbserver=yes > ;; > > @@ -656,7 +661,8 @@ x86_64-*-linux*) > # Target: GNU/Linux x86-64 > gdb_target_obs="amd64-tdep.o amd64-linux-tdep.o i386-tdep.o \ > i387-tdep.o i386-linux-tdep.o glibc-tdep.o \ > - solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o" > + solib-svr4.o symfile-mem.o linux-tdep.o linux-maps.o \ > + linux-record.o" > build_gdbserver=yes > ;; > x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) > @@ -686,7 +692,7 @@ x86_64-*-openbsd*) > xtensa*-*-linux*) gdb_target=linux > # Target: GNU/Linux Xtensa > gdb_target_obs="xtensa-tdep.o xtensa-config.o xtensa-linux-tdep.o \ > - solib-svr4.o symfile-mem.o linux-tdep.o" > + solib-svr4.o symfile-mem.o linux-tdep.o linux-maps.o" > build_gdbserver=yes > ;; > xtensa*) > diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in > index fc250fb..908061a 100644 > --- a/gdb/gdbserver/Makefile.in > +++ b/gdb/gdbserver/Makefile.in > @@ -194,7 +194,7 @@ OBS = agent.o ax.o inferiors.o regcache.o remote-utils.o server.o signals.o \ > mem-break.o hostio.o event-loop.o tracepoint.o xml-utils.o \ > common-utils.o ptid.o buffer.o format.o filestuff.o dll.o notif.o \ > tdesc.o print-utils.o rsp-low.o errors.o common-debug.o cleanups.o \ > - common-exceptions.o symbol.o btrace-common.o fileio.o \ > + common-exceptions.o symbol.o btrace-common.o fileio.o target-utils.o \ > $(XML_BUILTIN) $(DEPFILES) $(LIBOBJS) > GDBREPLAY_OBS = gdbreplay.o version.o > GDBSERVER_LIBS = @GDBSERVER_LIBS@ > @@ -519,6 +519,9 @@ ax.o: ax.c > signals.o: ../common/signals.c > $(COMPILE) $< > $(POSTCOMPILE) > +linux-maps.o: ../nat/linux-maps.c > + $(COMPILE) $< > + $(POSTCOMPILE) > print-utils.o: ../common/print-utils.c > $(COMPILE) $< > $(POSTCOMPILE) > @@ -531,6 +534,9 @@ common-utils.o: ../common/common-utils.c > posix-strerror.o: ../common/posix-strerror.c > $(COMPILE) $< > $(POSTCOMPILE) > +target-utils.o: ../target/target-utils.c > + $(COMPILE) $< > + $(POSTCOMPILE) > mingw-strerror.o: ../common/mingw-strerror.c > $(COMPILE) $< > $(POSTCOMPILE) > diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv > index 7f89f2f..ac324ff 100644 > --- a/gdb/gdbserver/configure.srv > +++ b/gdb/gdbserver/configure.srv > @@ -42,7 +42,7 @@ srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/amd > > # Linux object files. This is so we don't have to repeat > # these files over and over again. > -srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-ptrace.o linux-waitpid.o linux-personality.o linux-namespaces.o" > +srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-maps.o linux-ptrace.o linux-waitpid.o linux-personality.o linux-namespaces.o" > > # Input is taken from the "${target}" variable. > > diff --git a/gdb/nat/linux-maps.c b/gdb/nat/linux-maps.c > new file mode 100644 > index 0000000..01c8836 > --- /dev/null > +++ b/gdb/nat/linux-maps.c > @@ -0,0 +1,20 @@ > +/* Linux-specific memory maps manipulation routines. > + Copyright (C) 2015 Free Software Foundation, Inc. > + > + 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 "common-defs.h" > +#include "linux-maps.h" > diff --git a/gdb/nat/linux-maps.h b/gdb/nat/linux-maps.h > new file mode 100644 > index 0000000..2cff321 > --- /dev/null > +++ b/gdb/nat/linux-maps.h > @@ -0,0 +1,22 @@ > +/* Linux-specific memory maps manipulation routines. > + Copyright (C) 2015 Free Software Foundation, Inc. > + > + 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 . */ > + > +#ifndef NAT_LINUX_MAPS_H > +#define NAT_LINUX_MAPS_H > + > +#endif /* NAT_LINUX_MAPS_H */ > diff --git a/gdb/target/target-utils.c b/gdb/target/target-utils.c > new file mode 100644 > index 0000000..4e8fae7 > --- /dev/null > +++ b/gdb/target/target-utils.c > @@ -0,0 +1,21 @@ > +/* Utility target functions for GDB, and GDBserver. > + > + Copyright (C) 2015 Free Software Foundation, Inc. > + > + 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 "common-defs.h" > +#include "target/target-utils.h" > diff --git a/gdb/target/target-utils.h b/gdb/target/target-utils.h > new file mode 100644 > index 0000000..443ffc3 > --- /dev/null > +++ b/gdb/target/target-utils.h > @@ -0,0 +1,23 @@ > +/* Utility target functions for GDB, and GDBserver. > + > + Copyright (C) 2015 Free Software Foundation, Inc. > + > + 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 . */ > + > +#ifndef TARGET_TARGET_UTILS_H > +#define TARGET_TARGET_UTILS_H > + > +#endif /* TARGET_TARGET_UTILS_H */