about summary refs log tree commit diff
path: root/nptl/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-09-02 22:47:23 +0000
committerUlrich Drepper <drepper@redhat.com>2004-09-02 22:47:23 +0000
commitf76c8499101d2826013989954dcbccf5fb8321be (patch)
tree594ecc513964a1d071f243ad9f6cc4a9f6fcd2e3 /nptl/sysdeps
parent73f7c32c47ab2397935d9fc2aeaa594794b38c7e (diff)
downloadglibc-f76c8499101d2826013989954dcbccf5fb8321be.tar.gz
glibc-f76c8499101d2826013989954dcbccf5fb8321be.tar.xz
glibc-f76c8499101d2826013989954dcbccf5fb8321be.zip
Update.
	* sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp.
	* sysdeps/i386/jmpbuf-unwind.h: Likewise
	* sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
	* sysdeps/s390/jmpbuf-unwind.h: Likewise.
	* sysdeps/sh/jmpbuf-unwind.h: Likewise.
	* sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Likewise.
	* sysdeps/x86_64/jmpbuf-unwind.h: Likewise.
	* unwind.c: Use it.
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r--nptl/sysdeps/alpha/jmpbuf-unwind.h5
-rw-r--r--nptl/sysdeps/i386/jmpbuf-unwind.h5
-rw-r--r--nptl/sysdeps/powerpc/jmpbuf-unwind.h5
-rw-r--r--nptl/sysdeps/pthread/pthread_cond_timedwait.c3
-rw-r--r--nptl/sysdeps/s390/jmpbuf-unwind.h5
-rw-r--r--nptl/sysdeps/sh/jmpbuf-unwind.h5
-rw-r--r--nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h5
-rw-r--r--nptl/sysdeps/x86_64/jmpbuf-unwind.h5
9 files changed, 34 insertions, 9 deletions
diff --git a/nptl/sysdeps/alpha/jmpbuf-unwind.h b/nptl/sysdeps/alpha/jmpbuf-unwind.h
index ad77816ca0..5cef8b1cf5 100644
--- a/nptl/sysdeps/alpha/jmpbuf-unwind.h
+++ b/nptl/sysdeps/alpha/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -26,3 +26,6 @@
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[JB_SP] - (_adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/nptl/sysdeps/i386/jmpbuf-unwind.h b/nptl/sysdeps/i386/jmpbuf-unwind.h
index ad77816ca0..5cef8b1cf5 100644
--- a/nptl/sysdeps/i386/jmpbuf-unwind.h
+++ b/nptl/sysdeps/i386/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -26,3 +26,6 @@
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[JB_SP] - (_adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/nptl/sysdeps/powerpc/jmpbuf-unwind.h b/nptl/sysdeps/powerpc/jmpbuf-unwind.h
index dc8bebf99c..0b817160d3 100644
--- a/nptl/sysdeps/powerpc/jmpbuf-unwind.h
+++ b/nptl/sysdeps/powerpc/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -26,3 +26,6 @@
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[JB_GPR1] - (_adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/nptl/sysdeps/pthread/pthread_cond_timedwait.c b/nptl/sysdeps/pthread/pthread_cond_timedwait.c
index c6606c9bf9..fdbf43eae8 100644
--- a/nptl/sysdeps/pthread/pthread_cond_timedwait.c
+++ b/nptl/sysdeps/pthread/pthread_cond_timedwait.c
@@ -99,7 +99,8 @@ __pthread_cond_timedwait (cond, mutex, abstime)
 	INTERNAL_SYSCALL_DECL (err);
 	int ret;
 	ret = INTERNAL_SYSCALL (clock_gettime, err, 2,
-				cond->__data.__nwaiters & COND_CLOCK_BITS,
+				(cond->__data.__nwaiters
+				 & ((1 << COND_CLOCK_BITS) - 1)),
 				&rt);
 # ifndef __ASSUME_POSIX_TIMERS
 	if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (ret, err), 0))
diff --git a/nptl/sysdeps/s390/jmpbuf-unwind.h b/nptl/sysdeps/s390/jmpbuf-unwind.h
index 409408f5d2..19d0729a94 100644
--- a/nptl/sysdeps/s390/jmpbuf-unwind.h
+++ b/nptl/sysdeps/s390/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -27,3 +27,6 @@
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj)	 \
   ((uintptr_t) (_address) - (_adj)			 \
    < (uintptr_t) (_jmpbuf)->__gregs[__JB_GPR15] - (_adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/nptl/sysdeps/sh/jmpbuf-unwind.h b/nptl/sysdeps/sh/jmpbuf-unwind.h
index 7e36d830c0..cf6d25f041 100644
--- a/nptl/sysdeps/sh/jmpbuf-unwind.h
+++ b/nptl/sysdeps/sh/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -26,3 +26,6 @@
 
 #define _JMPBUF_UNWINDS_ADJ(jmpbuf, address, adj) \
   ((uintptr_t) (address) - (adj) < (uintptr_t) (jmpbuf)[0].__regs[7] - (adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h b/nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h
index ad77816ca0..5cef8b1cf5 100644
--- a/nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h
+++ b/nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -26,3 +26,6 @@
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[JB_SP] - (_adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h b/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h
index 90b5764e81..b821ab00f2 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -31,3 +31,6 @@
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t)(_address) - (_adj) < (uintptr_t)(((long *)_jmpbuf)[0]) - (_adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/nptl/sysdeps/x86_64/jmpbuf-unwind.h b/nptl/sysdeps/x86_64/jmpbuf-unwind.h
index f0a22e7d9c..345ed557c5 100644
--- a/nptl/sysdeps/x86_64/jmpbuf-unwind.h
+++ b/nptl/sysdeps/x86_64/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -26,3 +26,6 @@
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[JB_RSP] - (_adj))
+
+/* We use the normal lobngjmp for unwinding.  */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)