aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-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.h (renamed from sysdeps/gnu/siglist.h)6
5 files changed, 39 insertions, 111 deletions
diff --git a/ChangeLog b/ChangeLog
index 1829670..1ebe486 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
1999-06-19 Roland McGrath <roland@baalperazim.frob.com>
+ * 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>
+
* sysdeps/unix/sysv/linux/siglist.c: Moved to ...
* sysdeps/gnu/siglist.c: ... here.
Use <siglist.h> instead of "siglist.h", to ensure sysdeps-search.
diff --git a/sysdeps/generic/Makefile b/sysdeps/generic/Makefile
index 4d6c604..fbf2f49 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 2cfd498..0000000
--- 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 ae03b1f..7ee6d52 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/gnu/siglist.h b/sysdeps/generic/siglist.h
index 7fb41ad..c5867bc 100644
--- a/sysdeps/gnu/siglist.h
+++ b/sysdeps/generic/siglist.h
@@ -17,6 +17,12 @@
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 */