* cygwin/strsig.cc (__signals): New macro.

(sys_sigabbrev): New array of signal strings, patterned after linux.
(siglist): Use __signals.
* cygwin/include/cygwin/signal.h (sys_sigabbrev): Define.
* cygwin/include/cygwin/version.h: Bump API minor version to 177.

* utils/Makefile.in (kill.exe): Remove reliance on libiberty.
* utils/kill.cc (strsigno): New function patterned after libiberty but using
newly exported cygwin array.
This commit is contained in:
Christopher Faylor
2007-07-10 00:12:54 +00:00
parent 0c1207099c
commit 5c8891e962
7 changed files with 78 additions and 39 deletions

View File

@@ -23,44 +23,58 @@ struct sigdesc
const char *str;
};
#define __signals \
_s(SIGHUP, "Hangup"), /* 1 */ \
_s(SIGINT, "Interrupt"), /* 2 */ \
_s(SIGQUIT, "Quit"), /* 3 */ \
_s(SIGILL, "Illegal instruction"), /* 4 */ \
_s(SIGTRAP, "Trace/breakpoint trap"), /* 5 */ \
_s(SIGABRT, "Aborted"), /* 6 */ \
_s(SIGEMT, "EMT instruction"), /* 7 */ \
_s(SIGFPE, "Floating point exception"), /* 8 */ \
_s(SIGKILL, "Killed"), /* 9 */ \
_s(SIGBUS, "Bus error"), /* 10 */ \
_s(SIGSEGV, "Segmentation fault"), /* 11 */ \
_s(SIGSYS, "Bad system call"), /* 12 */ \
_s(SIGPIPE, "Broken pipe"), /* 13 */ \
_s(SIGALRM, "Alarm clock"), /* 14 */ \
_s(SIGTERM, "Terminated"), /* 15 */ \
_s(SIGURG, "Urgent I/O condition"), /* 16 */ \
_s(SIGSTOP, "Stopped (signal)"), /* 17 */ \
_s(SIGTSTP, "Stopped"), /* 18 */ \
_s(SIGCONT, "Continued"), /* 19 */ \
_s2(SIGCHLD, "Child exited", /* 20 */ \
SIGCLD, "Child exited"), \
_s(SIGTTIN, "Stopped (tty input)"), /* 21 */ \
_s(SIGTTOU, "Stopped (tty output)"), /* 22 */ \
_s2(SIGIO, "I/O possible", /* 23 */ \
SIGPOLL, "I/O possible"), \
_s(SIGXCPU, "CPU time limit exceeded"), /* 24 */ \
_s(SIGXFSZ, "File size limit exceeded"), /* 25 */ \
_s(SIGVTALRM, "Virtual timer expired"), /* 26 */ \
_s(SIGPROF, "Profiling timer expired"), /* 27 */ \
_s(SIGWINCH, "Window changed"), /* 28 */ \
_s(SIGLOST, "Resource lost"), /* 29 */ \
_s(SIGUSR1, "User defined signal 1"), /* 30 */ \
_s(SIGUSR2, "User defined signal 2"), /* 31 */ \
_s2(SIGRTMIN, "Real-time signal 0", /* 32 */ \
SIGRTMAX, "Real-time signal 0")
#define _s(n, s) #n
#define _s2(n, s, n1, s1) #n
const char __declspec(dllexport) * sys_sigabbrev[] NO_COPY_INIT =
{
NULL,
__signals
};
#undef _s
#undef _s2
#define _s(n, s) {n, #n, s}
#define _s2(n, s, n1, s1) {n, #n, s}, {n, #n1, #s1}
static const sigdesc siglist[] =
{
_s(SIGHUP, "Hangup"),
_s(SIGINT, "Interrupt"),
_s(SIGQUIT, "Quit"),
_s(SIGILL, "Illegal instruction"),
_s(SIGTRAP, "Trace/breakpoint trap"),
_s(SIGABRT, "Aborted"),
_s(SIGEMT, "EMT instruction"),
_s(SIGFPE, "Floating point exception"),
_s(SIGKILL, "Killed"),
_s(SIGBUS, "Bus error"),
_s(SIGSEGV, "Segmentation fault"),
_s(SIGSYS, "Bad system call"),
_s(SIGPIPE, "Broken pipe"),
_s(SIGALRM, "Alarm clock"),
_s(SIGTERM, "Terminated"),
_s(SIGURG, "Urgent I/O condition"),
_s(SIGSTOP, "Stopped (signal)"),
_s(SIGTSTP, "Stopped"),
_s(SIGCONT, "Continued"),
_s(SIGCHLD, "Child exited"),
_s(SIGCLD, "Child exited"),
_s(SIGTTIN, "Stopped (tty input)"),
_s(SIGTTOU, "Stopped (tty output)"),
_s(SIGIO, "I/O possible"),
_s(SIGPOLL, "I/O possible"),
_s(SIGXCPU, "CPU time limit exceeded"),
_s(SIGXFSZ, "File size limit exceeded"),
_s(SIGVTALRM, "Virtual timer expired"),
_s(SIGPROF, "Profiling timer expired"),
_s(SIGWINCH, "Window changed"),
_s(SIGLOST, "Resource lost"),
_s(SIGUSR1, "User defined signal 1"),
_s(SIGUSR2, "User defined signal 2"),
_s(SIGRTMIN, "Real-time signal 0"),
_s(SIGRTMAX, "Real-time signal 0"),
__signals,
{0, NULL, NULL}
};