aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDinakar Guniguntala <dino@in.ibm.com>2010-08-19 00:46:19 -0700
committerUlrich Drepper <drepper@redhat.com>2010-08-19 00:46:19 -0700
commit022f6b89208acd2a67eb28a94d6d240e85088398 (patch)
tree265c3132af443064a21a320ad5de30ccbe29e09f
parentb9b42ee01c935133c025d3b20102c1e490354e8e (diff)
downloadglibc-022f6b89208acd2a67eb28a94d6d240e85088398.tar
glibc-022f6b89208acd2a67eb28a94d6d240e85088398.tar.gz
glibc-022f6b89208acd2a67eb28a94d6d240e85088398.tar.bz2
glibc-022f6b89208acd2a67eb28a94d6d240e85088398.zip
Fix x86 pthread_cond_signal() FUTEX_WAKE_OP fallback
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S3
2 files changed, 7 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index a0fe7b069e..d4a1deb220 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-10 Dinakar Guniguntala <dino@in.ibm.com>
+ Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
+
+ * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: If
+ FUTEX_WAKE_OP fails make sure to call FUTEX_WAKE instead.
+
2010-08-12 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/unix/sysv/linux/i386/Makefile: New file.
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
index 9fc2cbfeaf..05cda25d3e 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002,2003,2004,2005,2007,2009 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2005,2007,2009,2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -163,7 +163,6 @@ __pthread_cond_signal:
#endif
orl $FUTEX_WAKE, %ecx
- xorl $(FUTEX_WAKE ^ FUTEX_WAKE_OP), %ecx
movl $SYS_futex, %eax
/* %edx should be 1 already from $FUTEX_WAKE_OP syscall.
movl $1, %edx */