From 307b0a5d4b1801305ad4da3eb8447376d1260709 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 4 May 2011 11:26:22 +0000 Subject: * libc/include/signal.h (psignal): Declare. * libc/sys/linux/psignal.c: Move from here... * libc/signal/psignal.c: ... to here. Document. * libc/sys/linux/Makefile.am (GENERAL_SOURCES): Move psignal.c from here... * libc/signal/Makefile.am (LIB_SOURCES): ... to here. (CHEWOUT_FILES): Add psignal.def. * libc/sys/linux/Makefile.in: Regenerate. * libc/signal/Makefile.in: Ditto. * libc/signal/signal.tex: Add references to psignal. --- newlib/libc/signal/Makefile.am | 4 ++-- newlib/libc/signal/Makefile.in | 15 +++++++++---- newlib/libc/signal/psignal.c | 51 ++++++++++++++++++++++++++++++++++++++++++ newlib/libc/signal/signal.tex | 4 ++++ 4 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 newlib/libc/signal/psignal.c (limited to 'newlib/libc/signal') diff --git a/newlib/libc/signal/Makefile.am b/newlib/libc/signal/Makefile.am index f4f5d46c2..7a7e64cbd 100644 --- a/newlib/libc/signal/Makefile.am +++ b/newlib/libc/signal/Makefile.am @@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = cygnus INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -LIB_SOURCES = raise.c signal.c +LIB_SOURCES = psignal.c raise.c signal.c libsignal_la_LDFLAGS = -Xcompiler -nostdlib @@ -21,7 +21,7 @@ endif # USE_LIBTOOL include $(srcdir)/../../Makefile.shared -CHEWOUT_FILES = raise.def signal.def +CHEWOUT_FILES = psignal.def raise.def signal.def SUFFIXES = .def diff --git a/newlib/libc/signal/Makefile.in b/newlib/libc/signal/Makefile.in index bd3a8d57e..3581678ad 100644 --- a/newlib/libc/signal/Makefile.in +++ b/newlib/libc/signal/Makefile.in @@ -55,12 +55,13 @@ LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru lib_a_AR = $(AR) $(ARFLAGS) lib_a_LIBADD = -am__objects_1 = lib_a-raise.$(OBJEXT) lib_a-signal.$(OBJEXT) +am__objects_1 = lib_a-psignal.$(OBJEXT) lib_a-raise.$(OBJEXT) \ + lib_a-signal.$(OBJEXT) @USE_LIBTOOL_FALSE@am_lib_a_OBJECTS = $(am__objects_1) lib_a_OBJECTS = $(am_lib_a_OBJECTS) LTLIBRARIES = $(noinst_LTLIBRARIES) libsignal_la_LIBADD = -am__objects_2 = raise.lo signal.lo +am__objects_2 = psignal.lo raise.lo signal.lo @USE_LIBTOOL_TRUE@am_libsignal_la_OBJECTS = $(am__objects_2) libsignal_la_OBJECTS = $(am_libsignal_la_OBJECTS) libsignal_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -228,7 +229,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = cygnus INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -LIB_SOURCES = raise.c signal.c +LIB_SOURCES = psignal.c raise.c signal.c libsignal_la_LDFLAGS = -Xcompiler -nostdlib @USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = libsignal.la @USE_LIBTOOL_TRUE@libsignal_la_SOURCES = $(LIB_SOURCES) @@ -237,7 +238,7 @@ libsignal_la_LDFLAGS = -Xcompiler -nostdlib @USE_LIBTOOL_FALSE@noinst_LIBRARIES = lib.a @USE_LIBTOOL_FALSE@lib_a_SOURCES = $(LIB_SOURCES) @USE_LIBTOOL_FALSE@lib_a_CFLAGS = $(AM_CFLAGS) -CHEWOUT_FILES = raise.def signal.def +CHEWOUT_FILES = psignal.def raise.def signal.def SUFFIXES = .def CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str TARGETDOC = ../tmp.texi @@ -310,6 +311,12 @@ distclean-compile: .c.lo: $(LTCOMPILE) -c -o $@ $< +lib_a-psignal.o: psignal.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.o `test -f 'psignal.c' || echo '$(srcdir)/'`psignal.c + +lib_a-psignal.obj: psignal.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.obj `if test -f 'psignal.c'; then $(CYGPATH_W) 'psignal.c'; else $(CYGPATH_W) '$(srcdir)/psignal.c'; fi` + lib_a-raise.o: raise.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-raise.o `test -f 'raise.c' || echo '$(srcdir)/'`raise.c diff --git a/newlib/libc/signal/psignal.c b/newlib/libc/signal/psignal.c new file mode 100644 index 000000000..4638518da --- /dev/null +++ b/newlib/libc/signal/psignal.c @@ -0,0 +1,51 @@ +/* Copyright 2002, 2011 Red Hat Inc. */ +/* +FUNCTION +<>---print a signal message on standard error + +INDEX + psignal + +ANSI_SYNOPSIS + #include + void psignal(int <[signal]>, const char *<[prefix]>); + +TRAD_SYNOPSIS + #include + void psignal(<[signal]>, <[prefix]>) + int <[signal]>; + const char *<[prefix]>; + +DESCRIPTION +Use <> to print (on standard error) a signal message +corresponding to the value of the signal number <[signal]>. +Unless you use <> as the value of the argument <[prefix]>, the +signal message will begin with the string at <[prefix]>, followed by a +colon and a space (<<: >>). The remainder of the signal message is one +of the strings described for <>. + +RETURNS +<> returns no result. + +PORTABILITY +POSIX.1-2008 requires <>, but the strings issued vary from one +implementation to another. + +Supporting OS subroutines required: <>, <>, <>, +<>, <>, <>, <>. +*/ + +#include <_ansi.h> +#include +#include + +_VOID +_DEFUN(psignal, (sig, s), + int sig _AND + _CONST char *s) +{ + if (s != NULL && *s != '\0') + fprintf (stderr, "%s: %s\n", s, strsignal (sig)); + else + fprintf (stderr, "%s\n", strsignal (sig)); +} diff --git a/newlib/libc/signal/signal.tex b/newlib/libc/signal/signal.tex index 08c15bed8..b36deb968 100644 --- a/newlib/libc/signal/signal.tex +++ b/newlib/libc/signal/signal.tex @@ -59,10 +59,14 @@ they may store a signal value. (Static storage is not otherwise reliable from signal handlers.) @menu +* psignal:: Print a signal message to standard error * raise:: Send a signal * signal:: Specify handler subroutine for a signal @end menu +@page +@include signal/psignal.def + @page @include signal/raise.def -- cgit v1.2.3