This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v11 1/7] Create empty common/linux-maps.[ch] and common/target-utils.[ch]
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Aleksandar Ristovski <ARistovski at qnx dot com>, Gary Benson <gbenson at redhat dot com>
- Date: Thu, 23 Jul 2015 19:21:19 +0200
- Subject: [PATCH v11 1/7] Create empty common/linux-maps.[ch] and common/target-utils.[ch]
- Authentication-results: sourceware.org; auth=none
- References: <20150723172109 dot 1176 dot 3332 dot stgit at host1 dot jankratochvil dot net>
Prepare new files for later move.
gdb/ChangeLog
2015-07-15 Aleksandar Ristovski <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Create empty common/linux-maps.[ch] and common/target-utils.[ch].
* Makefile.in (ALL_TARGET_OBS): Add linux-maps.o.
(HFILES_NO_SRCDIR); Add common/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.
* common/linux-maps.c: New file.
* common/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 <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Create empty common/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.
---
gdb/Makefile.in | 17 ++++++++++----
gdb/common/linux-maps.c | 20 ++++++++++++++++
gdb/common/linux-maps.h | 22 ++++++++++++++++++
gdb/configure.tgt | 54 ++++++++++++++++++++++++-------------------
gdb/gdbserver/Makefile.in | 8 ++++++
gdb/gdbserver/configure.srv | 2 +-
gdb/target/target-utils.c | 21 +++++++++++++++++
gdb/target/target-utils.h | 23 ++++++++++++++++++
8 files changed, 137 insertions(+), 30 deletions(-)
create mode 100644 gdb/common/linux-maps.c
create mode 100644 gdb/common/linux-maps.h
create mode 100644 gdb/target/target-utils.c
create mode 100644 gdb/target/target-utils.h
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 4347d0c..93ee8ca 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -718,7 +718,8 @@ ALL_TARGET_OBS = \
symfile-mem.o \
windows-tdep.o \
linux-record.o \
- ravenscar-thread.o
+ ravenscar-thread.o \
+ linux-maps.o
# Host-dependent makefile fragment comes in here.
@host_makefile_frag@
@@ -903,7 +904,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 common/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 +984,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 +1084,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 +2222,10 @@ common-agent.o: $(srcdir)/common/agent.c
$(COMPILE) $(srcdir)/common/agent.c
$(POSTCOMPILE)
+linux-maps.o: ${srcdir}/common/linux-maps.c
+ $(COMPILE) $(srcdir)/common/linux-maps.c
+ $(POSTCOMPILE)
+
vec.o: ${srcdir}/common/vec.c
$(COMPILE) $(srcdir)/common/vec.c
$(POSTCOMPILE)
@@ -2237,6 +2242,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/common/linux-maps.c b/gdb/common/linux-maps.c
new file mode 100644
index 0000000..01c8836
--- /dev/null
+++ b/gdb/common/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 <http://www.gnu.org/licenses/>. */
+
+#include "common-defs.h"
+#include "linux-maps.h"
diff --git a/gdb/common/linux-maps.h b/gdb/common/linux-maps.h
new file mode 100644
index 0000000..4228674
--- /dev/null
+++ b/gdb/common/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 <http://www.gnu.org/licenses/>. */
+
+#ifndef COMMON_LINUX_MAPS_H
+#define COMMON_LINUX_MAPS_H
+
+#endif /* COMMON_LINUX_MAPS_H */
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 5e04e530..55dd1f6 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: ../common/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 2dc954b..441d051 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/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 <http://www.gnu.org/licenses/>. */
+
+#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 <http://www.gnu.org/licenses/>. */
+
+#ifndef TARGET_TARGET_UTILS_H
+#define TARGET_TARGET_UTILS_H
+
+#endif /* TARGET_TARGET_UTILS_H */