From 7f12722d6d86754574a9ca1fa52167b8575acf71 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sat, 19 Jun 1999 12:28:15 +0000 Subject: 1999-06-19 Roland McGrath * sysdeps/unix/sysv/linux/siglist.c: Moved to ... * sysdeps/gnu/siglist.c: ... here. Use instead of "siglist.h", to ensure sysdeps-search. Use instead of to determine PTR_SIZE_STR. * sysdeps/gnu/siglist.h: New file, contents from linux version. Add entry for SIGLOST protected by #ifdef. * sysdeps/unix/sysv/linux/siglist.h: Just #include that file, and define OLD_SIGLIST_SIZE_STR. * sysdeps/mach/hurd/siglist.h: New file, likewise. --- sysdeps/gnu/siglist.c | 86 +++++++++++++++++++++++++++++++++++++++ sysdeps/gnu/siglist.h | 69 +++++++++++++++++++++++++++++++ sysdeps/mach/hurd/siglist.h | 23 +++++++++++ sysdeps/unix/sysv/linux/siglist.c | 76 ---------------------------------- sysdeps/unix/sysv/linux/siglist.h | 50 ++--------------------- 5 files changed, 181 insertions(+), 123 deletions(-) create mode 100644 sysdeps/gnu/siglist.c create mode 100644 sysdeps/gnu/siglist.h create mode 100644 sysdeps/mach/hurd/siglist.h delete mode 100644 sysdeps/unix/sysv/linux/siglist.c (limited to 'sysdeps') diff --git a/sysdeps/gnu/siglist.c b/sysdeps/gnu/siglist.c new file mode 100644 index 0000000..ae5a620 --- /dev/null +++ b/sysdeps/gnu/siglist.c @@ -0,0 +1,86 @@ +/* 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 + 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 +#include +#include + +#include +#if __WORDSIZE == 32 +#define PTR_SIZE_STR "4" +#elif __WORDSIZE == 64 +#define PTR_SIZE_STR "8" +#else +#error unexpected wordsize __WORDSIZE +#endif + + +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +# define SYS_SIGLIST __new_sys_siglist +# define SYS_SIGABBREV __new_sys_sigabbrev +#else +# define SYS_SIGLIST _sys_siglist +# define SYS_SIGABBREV _sys_sigabbrev +#endif + +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +asm (".data; .globl __old_sys_siglist; __old_sys_siglist:"); +#endif + +const char *const SYS_SIGLIST[NSIG] = +{ +#define init_sig(sig, abbrev, desc) [sig] desc, +#include +#undef init_sig +}; + +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +asm (".type __old_sys_siglist,@object;.size __old_sys_siglist," + OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); + +asm (".data; .globl __old_sys_sigabbrev; __old_sys_sigabbrev:"); +#endif + +const char *const SYS_SIGABBREV[NSIG] = +{ +#define init_sig(sig, abbrev, desc) [sig] abbrev, +#include +#undef init_sig +}; + +#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +asm (".type __old_sys_sigabbrev,@object;.size __old_sys_sigabbrev," + OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); + +extern const char *const *__old_sys_siglist; +extern const char *const *__old_sys_sigabbrev; + +strong_alias (__old_sys_siglist, _old_sys_siglist) +symbol_version (__old_sys_siglist, _sys_siglist, GLIBC_2.0); +symbol_version (_old_sys_siglist, sys_siglist, GLIBC_2.0); +symbol_version (__old_sys_sigabbrev, sys_sigabbrev, GLIBC_2.0); + +strong_alias (__new_sys_siglist, _new_sys_siglist) +default_symbol_version (__new_sys_siglist, _sys_siglist, GLIBC_2.1); +default_symbol_version (_new_sys_siglist, sys_siglist, GLIBC_2.1); +default_symbol_version (__new_sys_sigabbrev, sys_sigabbrev, GLIBC_2.1); +#else +weak_alias (_sys_siglist, sys_siglist) +weak_alias (_sys_sigabbrev, sys_sigabbrev) +#endif diff --git a/sysdeps/gnu/siglist.h b/sysdeps/gnu/siglist.h new file mode 100644 index 0000000..7fb41ad --- /dev/null +++ b/sysdeps/gnu/siglist.h @@ -0,0 +1,69 @@ +/* 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 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 diff --git a/sysdeps/mach/hurd/siglist.h b/sysdeps/mach/hurd/siglist.h new file mode 100644 index 0000000..e516ad6 --- /dev/null +++ b/sysdeps/mach/hurd/siglist.h @@ -0,0 +1,23 @@ +/* Copyright (C) 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 + 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 is included multiple times. */ + +#include /* This file defines the canonical list. */ + +#define OLD_SIGLIST_SIZE_STR "33" /* For GLIBC_2.0 binary compatibility. */ diff --git a/sysdeps/unix/sysv/linux/siglist.c b/sysdeps/unix/sysv/linux/siglist.c deleted file mode 100644 index 30d2a4a..0000000 --- a/sysdeps/unix/sysv/linux/siglist.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (C) 1997, 1998 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 -#include -#include -#include - -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING -# define SYS_SIGLIST __new_sys_siglist -# define SYS_SIGABBREV __new_sys_sigabbrev -#else -# define SYS_SIGLIST _sys_siglist -# define SYS_SIGABBREV _sys_sigabbrev -#endif - -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING -asm (".data; .globl __old_sys_siglist; __old_sys_siglist:"); -#endif - -const char *const SYS_SIGLIST[NSIG] = -{ -#define init_sig(sig, abbrev, desc) [sig] desc, -#include "siglist.h" -#undef init_sig -}; - -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING -asm (".type __old_sys_siglist,@object;.size __old_sys_siglist," - OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); - -asm (".data; .globl __old_sys_sigabbrev; __old_sys_sigabbrev:"); -#endif - -const char *const SYS_SIGABBREV[NSIG] = -{ -#define init_sig(sig, abbrev, desc) [sig] abbrev, -#include "siglist.h" -#undef init_sig -}; - -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING -asm (".type __old_sys_sigabbrev,@object;.size __old_sys_sigabbrev," - OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); - -extern const char *const *__old_sys_siglist; -extern const char *const *__old_sys_sigabbrev; - -strong_alias (__old_sys_siglist, _old_sys_siglist) -symbol_version (__old_sys_siglist, _sys_siglist, GLIBC_2.0); -symbol_version (_old_sys_siglist, sys_siglist, GLIBC_2.0); -symbol_version (__old_sys_sigabbrev, sys_sigabbrev, GLIBC_2.0); - -strong_alias (__new_sys_siglist, _new_sys_siglist) -default_symbol_version (__new_sys_siglist, _sys_siglist, GLIBC_2.1); -default_symbol_version (_new_sys_siglist, sys_siglist, GLIBC_2.1); -default_symbol_version (__new_sys_sigabbrev, sys_sigabbrev, GLIBC_2.1); -#else -weak_alias (_sys_siglist, sys_siglist) -weak_alias (_sys_sigabbrev, sys_sigabbrev) -#endif diff --git a/sysdeps/unix/sysv/linux/siglist.h b/sysdeps/unix/sysv/linux/siglist.h index 4c47e8a..a6d0302 100644 --- a/sysdeps/unix/sysv/linux/siglist.h +++ b/sysdeps/unix/sysv/linux/siglist.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 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 @@ -18,50 +18,6 @@ /* 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")) +#include /* This file defines the canonical list. */ -/* 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 - -#define OLD_SIGLIST_SIZE_STR "32" +#define OLD_SIGLIST_SIZE_STR "32" /* For GLIBC_2.0 binary compatibility. */ -- cgit v1.1