* 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>
This commit is contained in:
Roland McGrath 1999-06-19 12:40:14 +00:00
parent 79ede0e614
commit a901ffa236
5 changed files with 39 additions and 111 deletions

View File

@ -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.

View File

@ -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

View File

@ -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);
}

View File

@ -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
};

View File

@ -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 */