mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-29 21:13:52 +08:00
sim: nltvals: pull target signal out into a dedicated source file
Like we just did for pulling out the errno map, pull out the signal map into a dedicated common file. All newlib ports are using the same signal map which makes it easy.
This commit is contained in:
parent
a7e40a9931
commit
88c8370b25
@ -254,6 +254,7 @@ am_common_libcommon_a_OBJECTS = \
|
||||
common/common_libcommon_a-portability.$(OBJEXT) \
|
||||
common/common_libcommon_a-sim-load.$(OBJEXT) \
|
||||
common/common_libcommon_a-target-newlib-errno.$(OBJEXT) \
|
||||
common/common_libcommon_a-target-newlib-signal.$(OBJEXT) \
|
||||
common/common_libcommon_a-version.$(OBJEXT)
|
||||
common_libcommon_a_OBJECTS = $(am_common_libcommon_a_OBJECTS)
|
||||
igen_libigen_a_AR = $(AR) $(ARFLAGS)
|
||||
@ -845,6 +846,7 @@ common_libcommon_a_SOURCES = \
|
||||
common/portability.c \
|
||||
common/sim-load.c \
|
||||
common/target-newlib-errno.c \
|
||||
common/target-newlib-signal.c \
|
||||
common/version.c
|
||||
|
||||
@SIM_ENABLE_IGEN_TRUE@igen_libigen_a_SOURCES = \
|
||||
@ -1019,6 +1021,8 @@ common/common_libcommon_a-sim-load.$(OBJEXT): common/$(am__dirstamp) \
|
||||
common/$(DEPDIR)/$(am__dirstamp)
|
||||
common/common_libcommon_a-target-newlib-errno.$(OBJEXT): \
|
||||
common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
|
||||
common/common_libcommon_a-target-newlib-signal.$(OBJEXT): \
|
||||
common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp)
|
||||
common/common_libcommon_a-version.$(OBJEXT): common/$(am__dirstamp) \
|
||||
common/$(DEPDIR)/$(am__dirstamp)
|
||||
|
||||
@ -1142,6 +1146,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-portability.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-sim-load.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-target-newlib-errno.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-target-newlib-signal.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-version.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@igen/$(DEPDIR)/filter.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@igen/$(DEPDIR)/filter_host.Po@am__quote@
|
||||
@ -1234,6 +1239,20 @@ common/common_libcommon_a-target-newlib-errno.obj: common/target-newlib-errno.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/common_libcommon_a-target-newlib-errno.obj `if test -f 'common/target-newlib-errno.c'; then $(CYGPATH_W) 'common/target-newlib-errno.c'; else $(CYGPATH_W) '$(srcdir)/common/target-newlib-errno.c'; fi`
|
||||
|
||||
common/common_libcommon_a-target-newlib-signal.o: common/target-newlib-signal.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/common_libcommon_a-target-newlib-signal.o -MD -MP -MF common/$(DEPDIR)/common_libcommon_a-target-newlib-signal.Tpo -c -o common/common_libcommon_a-target-newlib-signal.o `test -f 'common/target-newlib-signal.c' || echo '$(srcdir)/'`common/target-newlib-signal.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/common_libcommon_a-target-newlib-signal.Tpo common/$(DEPDIR)/common_libcommon_a-target-newlib-signal.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/target-newlib-signal.c' object='common/common_libcommon_a-target-newlib-signal.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/common_libcommon_a-target-newlib-signal.o `test -f 'common/target-newlib-signal.c' || echo '$(srcdir)/'`common/target-newlib-signal.c
|
||||
|
||||
common/common_libcommon_a-target-newlib-signal.obj: common/target-newlib-signal.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/common_libcommon_a-target-newlib-signal.obj -MD -MP -MF common/$(DEPDIR)/common_libcommon_a-target-newlib-signal.Tpo -c -o common/common_libcommon_a-target-newlib-signal.obj `if test -f 'common/target-newlib-signal.c'; then $(CYGPATH_W) 'common/target-newlib-signal.c'; else $(CYGPATH_W) '$(srcdir)/common/target-newlib-signal.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/common_libcommon_a-target-newlib-signal.Tpo common/$(DEPDIR)/common_libcommon_a-target-newlib-signal.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/target-newlib-signal.c' object='common/common_libcommon_a-target-newlib-signal.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/common_libcommon_a-target-newlib-signal.obj `if test -f 'common/target-newlib-signal.c'; then $(CYGPATH_W) 'common/target-newlib-signal.c'; else $(CYGPATH_W) '$(srcdir)/common/target-newlib-signal.c'; fi`
|
||||
|
||||
common/common_libcommon_a-version.o: common/version.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/common_libcommon_a-version.o -MD -MP -MF common/$(DEPDIR)/common_libcommon_a-version.Tpo -c -o common/common_libcommon_a-version.o `test -f 'common/version.c' || echo '$(srcdir)/'`common/version.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/common_libcommon_a-version.Tpo common/$(DEPDIR)/common_libcommon_a-version.Po
|
||||
|
@ -232,6 +232,7 @@ COMMON_OBJS_NAMES = \
|
||||
portability.o \
|
||||
sim-load.o \
|
||||
target-newlib-errno.o \
|
||||
target-newlib-signal.o \
|
||||
version.o
|
||||
COMMON_OBJS = $(COMMON_OBJS_NAMES:%=../common/common_libcommon_a-%)
|
||||
|
||||
|
@ -16,13 +16,6 @@ static struct tdefs sys_tdefs[] = {
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
static struct tdefs signal_tdefs[] = {
|
||||
#define signal_defs
|
||||
#include "nltvals.def"
|
||||
#undef signal_defs
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
static struct tdefs open_tdefs[] = {
|
||||
#define open_defs
|
||||
#include "nltvals.def"
|
||||
@ -46,11 +39,6 @@ gen_targ_vals_h (void)
|
||||
printf ("#define TARGET_%s %d\n", t->symbol, t->value);
|
||||
printf ("\n");
|
||||
|
||||
printf ("/* signal values */\n");
|
||||
for (t = &signal_tdefs[0]; t->symbol; ++t)
|
||||
printf ("#define TARGET_%s %d\n", t->symbol, t->value);
|
||||
printf ("\n");
|
||||
|
||||
printf ("/* open flag values */\n");
|
||||
for (t = &open_tdefs[0]; t->symbol; ++t)
|
||||
printf ("#define TARGET_%s 0x%x\n", t->symbol, t->value);
|
||||
@ -69,7 +57,6 @@ gen_targ_map_c (void)
|
||||
|
||||
printf ("#include \"defs.h\"\n");
|
||||
printf ("#include <fcntl.h>\n");
|
||||
printf ("#include <signal.h>\n");
|
||||
printf ("#include \"ansidecl.h\"\n");
|
||||
printf ("#include \"sim/callback.h\"\n");
|
||||
printf ("#include \"targ-vals.h\"\n");
|
||||
@ -87,17 +74,6 @@ gen_targ_map_c (void)
|
||||
printf (" { 0, -1, -1 }\n");
|
||||
printf ("};\n\n");
|
||||
|
||||
printf ("/* signals mapping table */\n");
|
||||
printf ("CB_TARGET_DEFS_MAP cb_init_signal_map[] = {\n");
|
||||
for (t = &signal_tdefs[0]; t->symbol; ++t)
|
||||
{
|
||||
printf ("#ifdef %s\n", t->symbol);
|
||||
printf (" { \"%s\", %s, TARGET_%s },\n", t->symbol, t->symbol, t->symbol);
|
||||
printf ("#endif\n");
|
||||
}
|
||||
printf (" { 0, -1, -1 }\n");
|
||||
printf ("};\n\n");
|
||||
|
||||
printf ("/* open flags mapping table */\n");
|
||||
printf ("CB_TARGET_DEFS_MAP cb_init_open_map[] = {\n");
|
||||
for (t = &open_tdefs[0]; t->symbol; ++t)
|
||||
|
@ -37,6 +37,7 @@ noinst_LIBRARIES += %D%/libcommon.a
|
||||
%D%/portability.c \
|
||||
%D%/sim-load.c \
|
||||
%D%/target-newlib-errno.c \
|
||||
%D%/target-newlib-signal.c \
|
||||
%D%/version.c
|
||||
|
||||
%D%/version.c: %D%/version.c-stamp ; @true
|
||||
|
@ -1,46 +1,5 @@
|
||||
/* Newlib/libgloss macro values needed by remote target support. */
|
||||
/* This file is machine generated by gennltvals.py. */
|
||||
#ifdef signal_defs
|
||||
/* from signal.h */
|
||||
/* from sys/signal.h */
|
||||
/* begin signal target macros */
|
||||
{ "SIGABRT", 6 },
|
||||
{ "SIGALRM", 14 },
|
||||
{ "SIGBUS", 10 },
|
||||
{ "SIGCHLD", 20 },
|
||||
{ "SIGCLD", 20 },
|
||||
{ "SIGCONT", 19 },
|
||||
{ "SIGEMT", 7 },
|
||||
{ "SIGFPE", 8 },
|
||||
{ "SIGHUP", 1 },
|
||||
{ "SIGILL", 4 },
|
||||
{ "SIGINT", 2 },
|
||||
{ "SIGIO", 23 },
|
||||
{ "SIGIOT", 6 },
|
||||
{ "SIGKILL", 9 },
|
||||
{ "SIGLOST", 29 },
|
||||
{ "SIGPIPE", 13 },
|
||||
{ "SIGPOLL", 23 },
|
||||
{ "SIGPROF", 27 },
|
||||
{ "SIGQUIT", 3 },
|
||||
{ "SIGSEGV", 11 },
|
||||
{ "SIGSTOP", 17 },
|
||||
{ "SIGSYS", 12 },
|
||||
{ "SIGTERM", 15 },
|
||||
{ "SIGTRAP", 5 },
|
||||
{ "SIGTSTP", 18 },
|
||||
{ "SIGTTIN", 21 },
|
||||
{ "SIGTTOU", 22 },
|
||||
{ "SIGURG", 16 },
|
||||
{ "SIGUSR1", 30 },
|
||||
{ "SIGUSR2", 31 },
|
||||
{ "SIGVTALRM", 26 },
|
||||
{ "SIGWINCH", 28 },
|
||||
{ "SIGXCPU", 24 },
|
||||
{ "SIGXFSZ", 25 },
|
||||
#undef signal_defs
|
||||
/* end signal target macros */
|
||||
#endif
|
||||
#ifdef open_defs
|
||||
/* from fcntl.h */
|
||||
/* from sys/fcntl.h */
|
||||
|
136
sim/common/target-newlib-signal.c
Normal file
136
sim/common/target-newlib-signal.c
Normal file
@ -0,0 +1,136 @@
|
||||
/* Target errno mappings for newlib/libgloss environment.
|
||||
Copyright 1995-2021 Free Software Foundation, Inc.
|
||||
Contributed by Mike Frysinger.
|
||||
|
||||
This file is part of simulators.
|
||||
|
||||
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/>. */
|
||||
|
||||
/* This must come before any other includes. */
|
||||
#include "defs.h"
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
#include "sim/callback.h"
|
||||
|
||||
/* This file is kept up-to-date via the gennltvals.py script. Do not edit
|
||||
anything between the START & END comment blocks below. */
|
||||
|
||||
CB_TARGET_DEFS_MAP cb_init_signal_map[] = {
|
||||
/* gennltvals: START */
|
||||
#ifdef SIGABRT
|
||||
{ "SIGABRT", SIGABRT, 6 },
|
||||
#endif
|
||||
#ifdef SIGALRM
|
||||
{ "SIGALRM", SIGALRM, 14 },
|
||||
#endif
|
||||
#ifdef SIGBUS
|
||||
{ "SIGBUS", SIGBUS, 10 },
|
||||
#endif
|
||||
#ifdef SIGCHLD
|
||||
{ "SIGCHLD", SIGCHLD, 20 },
|
||||
#endif
|
||||
#ifdef SIGCLD
|
||||
{ "SIGCLD", SIGCLD, 20 },
|
||||
#endif
|
||||
#ifdef SIGCONT
|
||||
{ "SIGCONT", SIGCONT, 19 },
|
||||
#endif
|
||||
#ifdef SIGEMT
|
||||
{ "SIGEMT", SIGEMT, 7 },
|
||||
#endif
|
||||
#ifdef SIGFPE
|
||||
{ "SIGFPE", SIGFPE, 8 },
|
||||
#endif
|
||||
#ifdef SIGHUP
|
||||
{ "SIGHUP", SIGHUP, 1 },
|
||||
#endif
|
||||
#ifdef SIGILL
|
||||
{ "SIGILL", SIGILL, 4 },
|
||||
#endif
|
||||
#ifdef SIGINT
|
||||
{ "SIGINT", SIGINT, 2 },
|
||||
#endif
|
||||
#ifdef SIGIO
|
||||
{ "SIGIO", SIGIO, 23 },
|
||||
#endif
|
||||
#ifdef SIGIOT
|
||||
{ "SIGIOT", SIGIOT, 6 },
|
||||
#endif
|
||||
#ifdef SIGKILL
|
||||
{ "SIGKILL", SIGKILL, 9 },
|
||||
#endif
|
||||
#ifdef SIGLOST
|
||||
{ "SIGLOST", SIGLOST, 29 },
|
||||
#endif
|
||||
#ifdef SIGPIPE
|
||||
{ "SIGPIPE", SIGPIPE, 13 },
|
||||
#endif
|
||||
#ifdef SIGPOLL
|
||||
{ "SIGPOLL", SIGPOLL, 23 },
|
||||
#endif
|
||||
#ifdef SIGPROF
|
||||
{ "SIGPROF", SIGPROF, 27 },
|
||||
#endif
|
||||
#ifdef SIGQUIT
|
||||
{ "SIGQUIT", SIGQUIT, 3 },
|
||||
#endif
|
||||
#ifdef SIGSEGV
|
||||
{ "SIGSEGV", SIGSEGV, 11 },
|
||||
#endif
|
||||
#ifdef SIGSTOP
|
||||
{ "SIGSTOP", SIGSTOP, 17 },
|
||||
#endif
|
||||
#ifdef SIGSYS
|
||||
{ "SIGSYS", SIGSYS, 12 },
|
||||
#endif
|
||||
#ifdef SIGTERM
|
||||
{ "SIGTERM", SIGTERM, 15 },
|
||||
#endif
|
||||
#ifdef SIGTRAP
|
||||
{ "SIGTRAP", SIGTRAP, 5 },
|
||||
#endif
|
||||
#ifdef SIGTSTP
|
||||
{ "SIGTSTP", SIGTSTP, 18 },
|
||||
#endif
|
||||
#ifdef SIGTTIN
|
||||
{ "SIGTTIN", SIGTTIN, 21 },
|
||||
#endif
|
||||
#ifdef SIGTTOU
|
||||
{ "SIGTTOU", SIGTTOU, 22 },
|
||||
#endif
|
||||
#ifdef SIGURG
|
||||
{ "SIGURG", SIGURG, 16 },
|
||||
#endif
|
||||
#ifdef SIGUSR1
|
||||
{ "SIGUSR1", SIGUSR1, 30 },
|
||||
#endif
|
||||
#ifdef SIGUSR2
|
||||
{ "SIGUSR2", SIGUSR2, 31 },
|
||||
#endif
|
||||
#ifdef SIGVTALRM
|
||||
{ "SIGVTALRM", SIGVTALRM, 26 },
|
||||
#endif
|
||||
#ifdef SIGWINCH
|
||||
{ "SIGWINCH", SIGWINCH, 28 },
|
||||
#endif
|
||||
#ifdef SIGXCPU
|
||||
{ "SIGXCPU", SIGXCPU, 24 },
|
||||
#endif
|
||||
#ifdef SIGXFSZ
|
||||
{ "SIGXFSZ", SIGXFSZ, 25 },
|
||||
#endif
|
||||
/* gennltvals: END */
|
||||
{ NULL, -1, -1 },
|
||||
};
|
Loading…
Reference in New Issue
Block a user