diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-12-30 01:47:46 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-12-30 01:47:46 +0000 |
commit | d38cd08ca397c59fc98dba8c4d0b4bd96c899c9e (patch) | |
tree | 46ffb93f070ec805f4288ef6cdb379ba0e6ae621 /signal | |
parent | 01c901a56b165e57a17db349cc110f84f1b839c7 (diff) | |
download | glibc-d38cd08ca397c59fc98dba8c4d0b4bd96c899c9e.tar.gz |
update from main archive 961229cvs/libc20x-970306cvs/libc-961231cvs/libc-961230
Mon Dec 30 01:32:59 1996 Ulrich Drepper <drepper@cygnus.com>
* tme/localtime.c: Rewrite so that localtime_r does not call tzset,
but localtime does.
* features.h: Rename ANSI C to ISO C.
Mention __GLIBC__ and __GLIBC_MINOR__ macros.
* gnu-versions.h: Add _GNU_GETOPT_INTERFACE_VERSION.
* posix/getopt.c: Use _GNU_GETOPT_INTERFACE_VERSION to check
whether we can elide the code.
* posix/getopt1.c: Likewise.
* posix/Makefile: Correct copyright.
* elf/dl-error.c (_dl_catch_error): Clear `catch' also when error
occurred.
* elf/dl-support.c (_dl_sysdep_open_zero_fill): Don't define if
MAP_ANON is defined.
* elf/eval.c: Use __getline instead of getline.
* elf/rtld.c (dl_main): Check return value of _dl_new_object
function for NULL.
* sysdeps/generic/dl-cache.c: Update copyright.
* signal/Makefile: Correct copyright.
(routines): Remove gsignal and ssignal. Add bsd_signal.
* signal/gsignal.c: Removed. Now is made an alias.
* signal/ssignal.c: Likewise.
* sysdeps/posix/raise.c: Add alias gsignal.
* sysdeps/stub/raise.c: Likewise.
* sysdeps/posix/signal.c: Add alias ssignal.
* sysdeps/stub/signal.c: Likewise.
* signal/signal.h: Declare bsd_signal. Define signal as bsd_signal
if __FAVOR_BSD.
* sysdeps/posix/bsd_signal.c: New file. Implementation of XPG
function.
* sysdeps/unix/sysv/linux/signal.c: Add explanation.
* socket/sys/un.h: Define SUN_LEN according to POSIX.1g.
* stdio-common/Makefile (tests): Add scanf10.
* stdio-common/scanf10.c: New file.
* stdio-common/vfscanf.c: Decrement counter if EOF is read while
reading string.
* sysdeps/libm-i387/e_acos.S: Use END, not PSEUDO_END.
* sysdeps/libm-i387/e_acosl.S: Likewise.
* sysdeps/libm-i387/e_asin.S: Likewise.
* sysdeps/libm-i387/e_asinl.S: Likewise.
* sysdeps/libm-i387/e_atan2.S: Likewise.
* sysdeps/libm-i387/e_atan2f.S: Likewise.
* sysdeps/libm-i387/e_atan2l.S: Likewise.
* sysdeps/libm-i387/e_exp.S: Likewise.
* sysdeps/libm-i387/e_expl.S: Likewise.
* sysdeps/libm-i387/e_fmod.S: Likewise.
* sysdeps/libm-i387/e_fmodl.S: Likewise.
* sysdeps/libm-i387/e_log.S: Likewise.
* sysdeps/libm-i387/e_log10.S: Likewise.
* sysdeps/libm-i387/e_log10l.S: Likewise.
* sysdeps/libm-i387/e_logl.S: Likewise.
* sysdeps/libm-i387/e_remainder.S: Likewise.
* sysdeps/libm-i387/e_remainderf.S: Likewise.
* sysdeps/libm-i387/e_remainderl.S: Likewise.
* sysdeps/libm-i387/e_scalb.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
* sysdeps/libm-i387/e_sqrt.S: Likewise.
* sysdeps/libm-i387/e_sqrtf.S: Likewise.
* sysdeps/libm-i387/e_sqrtl.S: Likewise.
* sysdeps/libm-i387/s_atan.S: Likewise.
* sysdeps/libm-i387/s_atanf.S: Likewise.
* sysdeps/libm-i387/s_atanl.S: Likewise.
* sysdeps/libm-i387/s_ceil.S: Likewise.
* sysdeps/libm-i387/s_ceilf.S: Likewise.
* sysdeps/libm-i387/s_ceill.S: Likewise.
* sysdeps/libm-i387/s_copysign.S: Likewise.
* sysdeps/libm-i387/s_copysignf.S: Likewise.
* sysdeps/libm-i387/s_copysignl.S: Likewise.
* sysdeps/libm-i387/s_cos.S: Likewise.
* sysdeps/libm-i387/s_cosf.S: Likewise.
* sysdeps/libm-i387/s_cosl.S: Likewise.
* sysdeps/libm-i387/s_finite.S: Likewise.
* sysdeps/libm-i387/s_finitef.S: Likewise.
* sysdeps/libm-i387/s_finitel.S: Likewise.
* sysdeps/libm-i387/s_floor.S: Likewise.
* sysdeps/libm-i387/s_floorf.S: Likewise.
* sysdeps/libm-i387/s_floorl.S: Likewise.
* sysdeps/libm-i387/s_ilogb.S: Likewise.
* sysdeps/libm-i387/s_ilogbf.S: Likewise.
* sysdeps/libm-i387/s_ilogbl.S: Likewise.
* sysdeps/libm-i387/s_log1p.S: Likewise.
* sysdeps/libm-i387/s_log1pf.S: Likewise.
* sysdeps/libm-i387/s_log1pl.S: Likewise.
* sysdeps/libm-i387/s_logb.S: Likewise.
* sysdeps/libm-i387/s_logbf.S: Likewise.
* sysdeps/libm-i387/s_logbl.S: Likewise.
* sysdeps/libm-i387/s_rint.S: Likewise.
* sysdeps/libm-i387/s_rintf.S: Likewise.
* sysdeps/libm-i387/s_rintl.S: Likewise.
* sysdeps/libm-i387/s_scalbn.S: Likewise.
* sysdeps/libm-i387/s_scalbnf.S: Likewise.
* sysdeps/libm-i387/s_scalbnl.S: Likewise.
* sysdeps/libm-i387/s_significand.S: Likewise.
* sysdeps/libm-i387/s_significandf.S: Likewise.
* sysdeps/libm-i387/s_significandl.S: Likewise.
* sysdeps/libm-i387/s_sin.S: Likewise.
* sysdeps/libm-i387/s_sinf.S: Likewise.
* sysdeps/libm-i387/s_sinl.S: Likewise.
* sysdeps/libm-i387/e_log.S: Use fyl2xp1 instruction for values
near 1 to increase precision.
* sysdeps/libm-i387/e_log10.S: Likewise.
* sysdeps/libm-i387/e_log10l.S: Likewise.
* sysdeps/libm-i387/e_logl.S: Likewise.
* sysdeps/libm-i387/s_cos.S: Use testl instead of andw.
* sysdeps/libm-i387/s_cosl.S: Likewise.
* sysdeps/libm-i387/s_sin.S: Likewise.
* sysdeps/libm-i387/s_sinl.S: Likewise.
* sysdeps/libm-i387/s_tan.S: Likewise.
* sysdeps/libm-i387/s_tanl.S: Likewise.
* sysdeps/libm-i387/e_acosf.S: New file. Add float versions.
* sysdeps/libm-i387/e_asinf.S: Likewise.
* sysdeps/libm-i387/e_expf.S: Likewise.
* sysdeps/libm-i387/e_fmodf.S: Likewise.
* sysdeps/libm-i387/e_log10f.S: Likewise.
* sysdeps/libm-i387/e_logf.S: Likewise.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_acosh.S: New file. Highly optimized versions.
* sysdeps/libm-i387/e_acoshf.S: Likewise.
* sysdeps/libm-i387/e_acoshl.S: Likewise.
* sysdeps/libm-i387/e_atanh.S: Likewise.
* sysdeps/libm-i387/e_atanhf.S: Likewise.
* sysdeps/libm-i387/e_atanhl.S: Likewise.
* sysdeps/libm-i387/e_asinh.S: Likewise.
* sysdeps/libm-i387/e_asinhf.S: Likewise.
* sysdeps/libm-i387/e_asinhl.S: Likewise.
* sysdeps/libm-ieee754/s_asinhf.c: Tweak a bit. Use lower levels
for simplified handling.
* sysdeps/unix/sysv/linux/syscalls.list: Add query_module.
Sun Dec 22 01:39:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* inet/rcmd.c (rcmd): Set h_errno before calling herror.
* inet/rexec.c (rexec): Likewise.
Sat Dec 21 21:47:08 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/setjmp.c (__setjmp): Make it really
compatible.
Sun Dec 22 03:23:33 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/s_log1p.S: Use fyl2xp1 for numbers in range
-0.29 <= x <= 0.29, otherwise the old method.
* sysdeps/libm-i387/s_log1pf.S: Likewise.
* sysdeps/libm-i387/s_log1pl.S: Likewise.
Diffstat (limited to 'signal')
-rw-r--r-- | signal/Makefile | 8 | ||||
-rw-r--r-- | signal/gsignal.c | 28 | ||||
-rw-r--r-- | signal/signal.h | 54 | ||||
-rw-r--r-- | signal/ssignal.c | 29 |
4 files changed, 37 insertions, 82 deletions
diff --git a/signal/Makefile b/signal/Makefile index d3337385c9..eac9576895 100644 --- a/signal/Makefile +++ b/signal/Makefile @@ -12,9 +12,9 @@ # 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., 675 Mass Ave, -# Cambridge, MA 02139, USA. +# 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. # # Makefile for signal routines. @@ -30,7 +30,7 @@ routines := signal raise killpg \ sigstack sigaltstack sigintr \ sigsetops sigempty sigfillset sigaddset sigdelset sigismem \ sigreturn \ - gsignal ssignal siggetmask + siggetmask bsd_signal tests := tst-signal diff --git a/signal/gsignal.c b/signal/gsignal.c deleted file mode 100644 index f5b79a991d..0000000000 --- a/signal/gsignal.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1991, 1995 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <signal.h> - -#undef gsignal - -int -gsignal (sig) - int sig; -{ - return raise (sig); -} diff --git a/signal/signal.h b/signal/signal.h index 7b3c26094c..66ab3dd09a 100644 --- a/signal/signal.h +++ b/signal/signal.h @@ -22,7 +22,7 @@ #ifndef _SIGNAL_H -#if !defined(__need_sig_atomic_t) && !defined(__need_sigset_t) +#if !defined __need_sig_atomic_t && !defined __need_sigset_t #define _SIGNAL_H 1 #include <features.h> #endif @@ -32,15 +32,15 @@ __BEGIN_DECLS #include <gnu/types.h> #include <sigset.h> /* __sigset_t, __sig_atomic_t. */ -#if !defined(__sig_atomic_t_defined) && \ - (defined(_SIGNAL_H) || defined(__need_sig_atomic_t)) +#if !defined __sig_atomic_t_defined \ + && (defined _SIGNAL_H || defined __need_sig_atomic_t) /* An integral type that can be modified atomically, without the possibility of a signal arriving in the middle of the operation. */ typedef __sig_atomic_t sig_atomic_t; #endif /* `sig_atomic_t' undefined and <signal.h> or need `sig_atomic_t'. */ -#undef __need_sig_atomic_t +#undef __need_sig_atomic_t -#ifdef _SIGNAL_H +#ifdef _SIGNAL_H #include <signum.h> @@ -51,15 +51,27 @@ typedef void (*__sighandler_t) __P ((int)); returning the old handler, or SIG_ERR on error. */ extern __sighandler_t signal __P ((int __sig, __sighandler_t __handler)); +#if defined __FAVOR_BSD || defined __USE_XOPEN +/* The X/Open definition of `signal' conflicts with the BSD version. + So they defined another function `bsd_signal'. We will use this + implementation as the official `signal' function if the BSD + interface is preferred. */ +extern __sighandler_t bsd_signal __P ((int __sig, __sighandler_t __handler)); + +#ifdef __FAVOR_BSD +#define signal(sig, handler) bsd_signal ((sig), (handler)) +#endif +#endif + /* Send signal SIG to process number PID. If PID is zero, send SIG to all processes in the current process's process group. If PID is < -1, send SIG to all processes in process group - PID. */ extern int __kill __P ((__pid_t __pid, int __sig)); -#ifdef __USE_POSIX +#ifdef __USE_POSIX extern int kill __P ((__pid_t __pid, int __sig)); #endif /* Use POSIX. */ -#if defined(__USE_BSD) || defined(__USE_XOPEN_EXTENDED) +#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED /* Send SIG to all processes in process group PGRP. If PGRP is zero, send SIG to all processes in the current process's process group. */ @@ -69,13 +81,13 @@ extern int killpg __P ((__pid_t __pgrp, int __sig)); /* Raise signal SIG, i.e., send SIG to yourself. */ extern int raise __P ((int __sig)); -#ifdef __USE_SVID +#ifdef __USE_SVID /* SVID names for the same things. */ extern __sighandler_t ssignal __P ((int __sig, __sighandler_t __handler)); extern int gsignal __P ((int __sig)); #endif /* Use SVID. */ -#ifdef __USE_MISC +#ifdef __USE_MISC /* Print a message describing the meaning of the given signal number. */ extern void psignal __P ((int __sig, __const char *__s)); #endif /* Use misc. */ @@ -95,7 +107,7 @@ extern int __sigsetmask __P ((int __mask)); explitcly selects the BSD version. */ extern int __sigpause __P ((int __sig_or_mask, int __is_sig)); -#if defined(__USE_BSD) && !defined(__USE_XOPEN) +#if defined __USE_BSD && !defined __USE_XOPEN /* Set the mask of blocked signals to MASK, wait for a signal to arrive, and then restore the mask. */ #define sigpause(mask) __sigpause ((mask), 0) @@ -107,7 +119,7 @@ extern int __sigpause __P ((int __sig_or_mask, int __is_sig)); #endif -#ifdef __USE_BSD +#ifdef __USE_BSD #define sigmask(sig) __sigmask(sig) extern int sigblock __P ((int __mask)); @@ -119,32 +131,32 @@ extern int siggetmask __P ((void)); #endif /* Use BSD. */ -#ifdef __USE_MISC +#ifdef __USE_MISC #define NSIG _NSIG #endif -#ifdef __USE_GNU +#ifdef __USE_GNU typedef __sighandler_t sighandler_t; #endif /* 4.4 BSD uses the name `sig_t' for this. */ -#ifdef __USE_BSD +#ifdef __USE_BSD typedef __sighandler_t sig_t; #endif #endif /* <signal.h> included. */ -#ifdef __USE_POSIX +#ifdef __USE_POSIX -#if !defined(__sigset_t_defined) && \ - (defined(_SIGNAL_H) || defined(__need_sigset_t)) +#if !defined __sigset_t_defined \ + && (defined _SIGNAL_H || defined __need_sigset_t) typedef __sigset_t sigset_t; #define __sigset_t_defined 1 #endif /* `sigset_t' not defined and <signal.h> or need `sigset_t'. */ -#undef __need_sigset_t +#undef __need_sigset_t -#ifdef _SIGNAL_H +#ifdef _SIGNAL_H /* Clear all signals from SET. */ extern int sigemptyset __P ((sigset_t *__set)); @@ -194,7 +206,7 @@ extern int sigwait __P ((__const sigset_t *__set, int *__sig)); #endif /* Use POSIX. */ -#if defined(_SIGNAL_H) && defined(__USE_BSD) +#if defined _SIGNAL_H && defined __USE_BSD /* Names of the signals. This variable exists only for compatibility. Use `strsignal' instead (see <string.h>). */ @@ -238,7 +250,7 @@ extern int sigreturn __P ((struct sigcontext *__scp)); #endif /* signal.h included and use BSD. */ -#if defined(_SIGNAL_H) && (defined(__USE_BSD) || defined(__USE_XOPEN_EXTENDED)) +#if defined _SIGNAL_H && (defined __USE_BSD || defined __USE_XOPEN_EXTENDED) #define __need_size_t #include <stddef.h> diff --git a/signal/ssignal.c b/signal/ssignal.c deleted file mode 100644 index 54ab7f0f45..0000000000 --- a/signal/ssignal.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <signal.h> - -#undef ssignal - -__sighandler_t -ssignal (sig, func) - int sig; - __sighandler_t func; -{ - return signal (sig, func); -} |