summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Kadzban <bz-glibc@kdzbn.homelinux.net>2009-06-11 11:32:51 -0700
committerPetr Baudis <pasky@suse.cz>2009-06-12 11:49:45 +0200
commit9cf557216cbd0fe6e5ca235114c27260622d049b (patch)
tree6a4d32f0c2e47646f88a91ea44962316c85a2356
parent53f32b044fff54341c426a9ba16753b881d32f91 (diff)
Fix futex syscall parameter for x86 absolute timeout waits.
This affects only installations compiled for kernels older than 2.6.18. (cherry picked from commit 1828530f09bcc321cfb84c27110bbce804605ec4)
-rw-r--r--nptl/ChangeLog8
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S2
2 files changed, 9 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index f3bd32f577..d97efa0cd2 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,11 @@
+2009-06-11 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #10262]
+ * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
+ (LOAD_FUTEX_WAIT_ABS): Fix futex parameter in case private futexes
+ cannot be assumed.
+ Patch by Bryan Kadzban <bz-glibc@kdzbn.homelinux.net>.
+
2009-05-15 Ulrich Drepper <drepper@redhat.com>
* cancellation.c (__pthread_disable_asynccancel): Correct the bits
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
index 056b72900a..7578c7ece0 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
@@ -60,7 +60,7 @@
# define LOAD_FUTEX_WAIT_ABS(reg) \
xorl $FUTEX_PRIVATE_FLAG, reg ; \
andl %gs:PRIVATE_FUTEX, reg ; \
- orl $FUTEX_WAIT | FUTEX_CLOCK_REALTIME, reg
+ orl $FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME, reg
# define LOAD_FUTEX_WAKE(reg) \
xorl $FUTEX_PRIVATE_FLAG, reg ; \
andl %gs:PRIVATE_FUTEX, reg ; \