2000-02-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/sigwait.c: Don't look for signal 0 since it does
	not exist.  Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1601).

	* sysdeps/i386/fpu/s_nearbyint.S: Disable raising exception, not
	enable it.  Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1600).
	* sysdeps/i386/fpu/s_nearbyintf.S: Likewise.
	* sysdeps/i386/fpu/s_nearbyintf.l: Likewise.
This commit is contained in:
Ulrich Drepper 2000-02-15 02:00:33 +00:00
parent 1ca7cbcb45
commit ec91ea7ccb
6 changed files with 24 additions and 6 deletions

View File

@ -1,3 +1,13 @@
2000-02-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/sigwait.c: Don't look for signal 0 since it does
not exist. Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1601).
* sysdeps/i386/fpu/s_nearbyint.S: Disable raising exception, not
enable it. Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1600).
* sysdeps/i386/fpu/s_nearbyintf.S: Likewise.
* sysdeps/i386/fpu/s_nearbyintf.l: Likewise.
2000-02-14 Andreas Jaeger <aj@suse.de> 2000-02-14 Andreas Jaeger <aj@suse.de>
* elf/rtld.c (dl_main): Fix check for references to dynamic linker. * elf/rtld.c (dl_main): Fix check for references to dynamic linker.

View File

@ -1,3 +1,11 @@
2000-02-14 Ulrich Drepper <drepper@redhat.com>
* condvar.c (pthread_cond_timedwait_relative_old): Tight loop with
nanosleep does not work either. Get absolute time inside the
loop.
(pthread_cond_timedwait_relative_new): Likewise.
Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
2000-02-13 Andreas Jaeger <aj@suse.de> 2000-02-13 Andreas Jaeger <aj@suse.de>
* condvar.c (pthread_cond_timedwait_relative_new): Fix last patch. * condvar.c (pthread_cond_timedwait_relative_new): Fix last patch.

View File

@ -12,7 +12,7 @@ ENTRY(__nearbyint)
pushl %ecx pushl %ecx
fnstcw (%esp) fnstcw (%esp)
movl (%esp), %eax movl (%esp), %eax
andl $~0x20, %eax orl $0x20, %eax
movl %eax, 4(%esp) movl %eax, 4(%esp)
fldcw 4(%esp) fldcw 4(%esp)
frndint frndint

View File

@ -12,7 +12,7 @@ ENTRY(__nearbyintf)
pushl %ecx pushl %ecx
fnstcw (%esp) fnstcw (%esp)
movl (%esp), %eax movl (%esp), %eax
andl $~0x20, %eax orl $0x20, %eax
movl %eax, 4(%esp) movl %eax, 4(%esp)
fldcw 4(%esp) fldcw 4(%esp)
frndint frndint

View File

@ -12,7 +12,7 @@ ENTRY(__nearbyintl)
pushl %ecx pushl %ecx
fnstcw (%esp) fnstcw (%esp)
movl (%esp), %eax movl (%esp), %eax
andl $~0x20, %eax orl $0x20, %eax
movl %eax, 4(%esp) movl %eax, 4(%esp)
fldcw 4(%esp) fldcw 4(%esp)
frndint frndint

View File

@ -1,5 +1,5 @@
/* Implementation of sigwait function from POSIX.1c. /* Implementation of sigwait function from POSIX.1c.
Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@ -52,7 +52,7 @@ __sigwait (const sigset_t *set, int *sig)
value which does not describe a legal signal number. */ value which does not describe a legal signal number. */
was_sig = -1; was_sig = -1;
for (this = 0; this < NSIG; ++this) for (this = 1; this < NSIG; ++this)
if (__sigismember (set, this)) if (__sigismember (set, this))
{ {
/* Unblock this signal. */ /* Unblock this signal. */
@ -69,7 +69,7 @@ __sigwait (const sigset_t *set, int *sig)
restore_handler: restore_handler:
save_errno = errno; save_errno = errno;
while (--this >= 0) while (--this >= 1)
if (__sigismember (set, this)) if (__sigismember (set, this))
/* We ignore errors here since we must restore all handlers. */ /* We ignore errors here since we must restore all handlers. */
__sigaction (this, &saved[this], NULL); __sigaction (this, &saved[this], NULL);