summaryrefslogtreecommitdiff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1999-06-19 12:40:14 +0000
committerRoland McGrath <roland@gnu.org>1999-06-19 12:40:14 +0000
commita901ffa236a6170adc61e0b98f5a15f675ed9462 (patch)
treea6dde15fe88b37b2bc29ce2ed1f0357c423fd596 /sysdeps/generic
parent79ede0e6148c6a566bc8ab3479fd4264d1ad62ba (diff)
* sysdeps/gnu/siglist.h: File moved to ...
* sysdeps/generic/siglist.h: ... here. This file should be usable for any platform, since it just associates the SIG* macros with text names and descriptions. For any signal macros do not exist on every platform, we can use #ifdef tests here and still use this single common file for all platforms. * sysdeps/generic/siglist.c: Rewrite using <siglist.h>. This file should be usable for all platforms after the binary compatibility stuff in the current sysdeps/gnu version is no longer required. * sysdeps/generic/Makefile: Remove rules for generating siglist.c. * sysdeps/generic/make_siglist.c: File removed. 1999-06-16 Roland McGrath <roland@baalperazim.frob.com>
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/Makefile23
-rw-r--r--sysdeps/generic/make_siglist.c66
-rw-r--r--sysdeps/generic/siglist.c41
-rw-r--r--sysdeps/generic/siglist.h75
4 files changed, 94 insertions, 111 deletions
diff --git a/sysdeps/generic/Makefile b/sysdeps/generic/Makefile
index 4d6c60447a..fbf2f49f02 100644
--- a/sysdeps/generic/Makefile
+++ b/sysdeps/generic/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+# Copyright (C) 1992,93,94,95,96,97,99 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -31,27 +31,6 @@ common-generated := $(common-generated) bits/endian.h det_endian
endif
-ifeq ($(subdir),stdio-common)
-ifneq ($(inhibit-siglist),yes)
-ifneq ($(cross-compiling),yes)
-ifeq "$(filter %siglist.c,$(before-compile))" ""
-before-compile := $(before-compile) $(objpfx)siglist.c
-$(objpfx)siglist.c: $(objpfx)make_siglist
- @rm -f $@
- $(dir $<)$(notdir $<) > $@-tmp
- mv $@-tmp $@
-
-make_siglist-CFLAGS = -DSIGNUM_H=\"$(shell pwd)/$(firstword $(wildcard \
- $(+sysdep_dirs:%=%/bits/signum.h)))\"
-$(objpfx)make_siglist: $(sysdep_dir)/generic/make_siglist.c
- $(native-compile)
-
-generated := $(generated) make_siglist siglist.c
-endif
-endif
-endif
-endif
-
ifeq ($(subdir),string)
CFLAGS-wordcopy.c += -Wno-uninitialized
endif
diff --git a/sysdeps/generic/make_siglist.c b/sysdeps/generic/make_siglist.c
deleted file mode 100644
index 2cfd4988dd..0000000000
--- a/sysdeps/generic/make_siglist.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include <stdio.h>
-
-/* Include signal.h now so that we can safely reinclude it again in
- signame.c later on. We completely override the definitions, we
- just have to be sure that the include guard in signal.h keeps it
- from redefining the signal values. */
-#include <signal.h>
-
-/* Get this configuration's defns of the signal numbers. */
-#undef _SIGNAL_H
-#define _SIGNAL_H 1
-#include SIGNUM_H
-
-/* Make a definition for sys_siglist. */
-
-
-#undef HAVE_SYS_SIGLIST
-#define HAVE_STRSIGNAL
-#define HAVE_PSIGNAL
-#define sys_siglist my_siglist /* Avoid clash with signal.h. */
-
-#undef NSIG
-#define NSIG _NSIG /* make sure that the value from SIGNUM_H is used. */
-
-#include "signame.c"
-
-
-int
-main()
-{
- register int i;
-
- signame_init ();
-
- puts ("#include <stddef.h>\n");
-
- puts ("\n/* This is a list of all known signal numbers. */");
-
- puts ("\nconst char *const _sys_siglist[] =\n {");
-
- for (i = 0; i < NSIG; ++i)
- printf (" \"%s\",\n", sys_siglist[i]);
-
- puts (" NULL\n };\n");
-
- puts ("weak_alias (_sys_siglist, sys_siglist)");
- exit (0);
-}
diff --git a/sysdeps/generic/siglist.c b/sysdeps/generic/siglist.c
index ae03b1f73c..7ee6d52030 100644
--- a/sysdeps/generic/siglist.c
+++ b/sysdeps/generic/siglist.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
+/* Define list of all signal numbers and their names.
+ Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -17,26 +18,20 @@
Boston, MA 02111-1307, USA. */
#include <stddef.h>
+#include <signal.h>
+#include <libintl.h>
-const char *const _sys_siglist[] =
- {
- "Signal 0",
- "Aborted",
- "Erroneous arithmetic operation",
- "Illegal instruction",
- "Interrupt",
- "Invalid access to storage",
- "Terminated",
- "Hangup",
- "Quit",
- "Broken pipe",
- "Killed",
- "Alarm clock",
- "Stopped (signal)",
- "Stopped",
- "Continued",
- "Child exited",
- "Stopped (tty input)",
- "Stopped (tty output)",
- NULL
- };
+const char *const _sys_siglist[NSIG] =
+{
+#define init_sig(sig, abbrev, desc) [sig] desc,
+#include <siglist.h>
+#undef init_sig
+};
+
+
+const char *const _sys_sigabbrev[NSIG] =
+{
+#define init_sig(sig, abbrev, desc) [sig] abbrev,
+#include <siglist.h>
+#undef init_sig
+};
diff --git a/sysdeps/generic/siglist.h b/sysdeps/generic/siglist.h
new file mode 100644
index 0000000000..c5867bccef
--- /dev/null
+++ b/sysdeps/generic/siglist.h
@@ -0,0 +1,75 @@
+/* Canonical list of all signal names.
+ Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* This file should be usable for any platform, since it just associates
+ the SIG* macros with text names and descriptions. The actual values
+ come from <bits/signum.h> (via <signal.h>). For any signal macros do not
+ exist on every platform, we can use #ifdef tests here and still use
+ this single common file for all platforms. */
+
+/* This file is included multiple times. */
+
+/* Standard signals */
+ init_sig (SIGHUP, "HUP", N_("Hangup"))
+ init_sig (SIGINT, "INT", N_("Interrupt"))
+ init_sig (SIGQUIT, "QUIT", N_("Quit"))
+ init_sig (SIGILL, "ILL", N_("Illegal instruction"))
+ init_sig (SIGTRAP, "TRAP", N_("Trace/breakpoint trap"))
+ init_sig (SIGABRT, "ABRT", N_("Aborted"))
+ init_sig (SIGFPE, "FPE", N_("Floating point exception"))
+ init_sig (SIGKILL, "KILL", N_("Killed"))
+ init_sig (SIGBUS, "BUS", N_("Bus error"))
+ init_sig (SIGSEGV, "SEGV", N_("Segmentation fault"))
+ init_sig (SIGPIPE, "PIPE", N_("Broken pipe"))
+ init_sig (SIGALRM, "ALRM", N_("Alarm clock"))
+ init_sig (SIGTERM, "TERM", N_("Terminated"))
+ init_sig (SIGURG, "URG", N_("Urgent I/O condition"))
+ init_sig (SIGSTOP, "STOP", N_("Stopped (signal)"))
+ init_sig (SIGTSTP, "TSTP", N_("Stopped"))
+ init_sig (SIGCONT, "CONT", N_("Continued"))
+ init_sig (SIGCHLD, "CHLD", N_("Child exited"))
+ init_sig (SIGTTIN, "TTIN", N_("Stopped (tty input)"))
+ init_sig (SIGTTOU, "TTOU", N_("Stopped (tty output)"))
+ init_sig (SIGIO, "IO", N_("I/O possible"))
+ init_sig (SIGXCPU, "XCPU", N_("CPU time limit exceeded"))
+ init_sig (SIGXFSZ, "XFSZ", N_("File size limit exceeded"))
+ init_sig (SIGVTALRM, "VTALRM", N_("Virtual timer expired"))
+ init_sig (SIGPROF, "PROF", N_("Profiling timer expired"))
+ init_sig (SIGWINCH, "WINCH", N_("Window changed"))
+ init_sig (SIGUSR1, "USR1", N_("User defined signal 1"))
+ init_sig (SIGUSR2, "USR2", N_("User defined signal 2"))
+
+/* Variations */
+#ifdef SIGEMT
+ init_sig (SIGEMT, "EMT", N_("EMT trap"))
+#endif
+#ifdef SIGSYS
+ init_sig (SIGSYS, "SYS", N_("Bad system call"))
+#endif
+#ifdef SIGSTKFLT
+ init_sig (SIGSTKFLT, "STKFLT", N_("Stack fault"))
+#endif
+#ifdef SIGINFO
+ init_sig (SIGINFO, "INFO", N_("Information request"))
+#elif defined(SIGPWR)
+ init_sig (SIGPWR, "PWR", N_("Power failure"))
+#endif
+#ifdef SIGLOST
+ init_sig (SIGLOST, "LOST", N_("Resource lost"))
+#endif