summaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-01-09 21:55:11 +0000
committerJakub Jelinek <jakub@redhat.com>2006-01-09 21:55:11 +0000
commit06f313e361a523605ba6d4c9cdc67a7353cd367c (patch)
tree007c600599bb65c7a685423c611977f6e4eb26e6 /nptl
parentbd09caaa27e6c4613afc4a91a70f09babca1aef2 (diff)
Updated to fedora-glibc-20060109T2152cvs/fedora-glibc-2_3_90-30
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog32
-rw-r--r--nptl/sysdeps/pthread/aio_misc.h5
-rw-r--r--nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h2
10 files changed, 50 insertions, 13 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index a3d46cbf60..0c54b30247 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,6 +1,36 @@
+2006-01-09 Roland McGrath <roland@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
+ Use __extension__ on anonymous union definition.
+ * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
+
+2006-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/sparc/sparc64/jmpbuf-unwind.h (_JMPBUF_UNWINDS_ADJ): Add
+ stack bias to mc_ftp field.
+
+2006-01-07 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/pthread/aio_misc.h (AIO_MISC_WAIT): Work around gcc
+ being too clever and reloading the futex value where it shouldn't.
+
+2006-01-06 Ulrich Drepper <drepper@redhat.com>
+
+ * descr.h [!__PTHREAD_MUTEX_HAVE_PREV] (DEQUEUE_MUTEX): Use
+ correct type.
+
+2006-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
+ Add cfi directives.
+
2006-01-06 Ulrich Drepper <drepper@redhat.com>
- * sysdeps/ia64/tls.h (tcbhead_t): Rename private membe to __private.
+ * sysdeps/ia64/tls.h (tcbhead_t): Rename private member to __private.
* sysdeps/ia64/tcb-offsets.sym: Adjust for private->__private
rename in tcbhead_t.
diff --git a/nptl/sysdeps/pthread/aio_misc.h b/nptl/sysdeps/pthread/aio_misc.h
index 5aeb34eb98..f285083883 100644
--- a/nptl/sysdeps/pthread/aio_misc.h
+++ b/nptl/sysdeps/pthread/aio_misc.h
@@ -35,6 +35,7 @@
#define AIO_MISC_WAIT(result, futex, timeout, cancel) \
do { \
+ volatile int *futexaddr = &futex; \
int oldval = futex; \
\
if (oldval != 0) \
@@ -48,11 +49,11 @@
int status; \
do \
{ \
- status = lll_futex_timed_wait (&futex, oldval, timeout); \
+ status = lll_futex_timed_wait (futexaddr, oldval, timeout); \
if (status != -EWOULDBLOCK) \
break; \
\
- oldval = futex; \
+ oldval = *futexaddr; \
} \
while (oldval != 0); \
\
diff --git a/nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h b/nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h
index 92c296b0cf..efb6918c14 100644
--- a/nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h
+++ b/nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h
@@ -25,7 +25,8 @@
_JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
- ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[0].uc_mcontext.mc_fp - (_adj))
+ ((uintptr_t) (_address) - (_adj) \
+ < (uintptr_t) (_jmpbuf)[0].uc_mcontext.mc_fp + 2047 - (_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/i386/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
index 2341a9c650..662f3e54a8 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
@@ -56,7 +56,7 @@ typedef union
binary compatibility. */
int __kind;
unsigned int __nusers;
- union
+ __extension__ union
{
int __spins;
struct __pthread_mutex_s *__next;
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
index 56ffef3d0b..493c2ab557 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
@@ -80,7 +80,7 @@ typedef union
# define __PTHREAD_MUTEX_HAVE_PREV 1
#else
unsigned int __nusers;
- union
+ __extension__ union
{
int __spins;
struct __pthread_mutex_s *__next;
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
index a2ad05dd54..df8beeb685 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
@@ -79,7 +79,7 @@ typedef union
# define __PTHREAD_MUTEX_HAVE_PREV 1
#else
unsigned int __nusers;
- union
+ __extension__ union
{
int __spins;
struct __pthread_mutex_s *__next;
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
index 727ab811c0..211c3fb08e 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -57,7 +57,7 @@ typedef union __pthread_mutex_u
binary compatibility. */
int __kind;
unsigned int __nusers;
- union
+ __extension__ union
{
int __spins;
union __pthread_mutex_u *__next;
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
index 0f4691025e..e948ca10a8 100644
--- a/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
@@ -1,5 +1,5 @@
/* Machine-specific pthread type layouts. SPARC version.
- Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@@ -80,7 +80,7 @@ typedef union __pthread_mutex_u
# define __PTHREAD_MUTEX_HAVE_PREV 1
#else
unsigned int __nusers;
- union
+ __extension__ union
{
int __spins;
union __pthread_mutex_u *__next;
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
index d8c65aeffd..d69623c145 100644
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
@@ -40,7 +40,11 @@ __##syscall_name##_nocancel: \
nop; \
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
.subsection 2; \
+ cfi_startproc; \
1: save %sp, -192, %sp; \
+ cfi_def_cfa_register (%fp); \
+ cfi_window_save; \
+ cfi_register (%o7, %i7); \
CENABLE; \
nop; \
mov %o0, %l0; \
@@ -53,6 +57,7 @@ __##syscall_name##_nocancel: \
mov %l0, %o0; \
jmpl %i7 + 8, %g0; \
restore %g0, %l1, %o0; \
+ cfi_endproc; \
.previous; \
SYSCALL_ERROR_HANDLER \
SYSCALL_ERROR_HANDLER2
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
index ba940b35e0..81942bc86c 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
@@ -79,7 +79,7 @@ typedef union
# define __PTHREAD_MUTEX_HAVE_PREV 1
#else
unsigned int __nusers;
- union
+ __extension__ union
{
int __spins;
struct __pthread_mutex_s *__next;