diff options
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/Makefile | 23 | ||||
-rw-r--r-- | sysdeps/generic/make_siglist.c | 66 | ||||
-rw-r--r-- | sysdeps/generic/siglist.c | 41 | ||||
-rw-r--r-- | sysdeps/generic/siglist.h | 75 |
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 |