aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-24 01:56:21 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-24 01:56:21 +0000
commit565699e492f741bc4563c73046f457924c6f708a (patch)
tree159b7af5ae4acc4c407c6f3c4174b7cb1ebd9638
parent7fe1586f4615281664b844ac9981a0711f7e2128 (diff)
downloadglibc-565699e492f741bc4563c73046f457924c6f708a.tar
glibc-565699e492f741bc4563c73046f457924c6f708a.tar.gz
glibc-565699e492f741bc4563c73046f457924c6f708a.tar.bz2
glibc-565699e492f741bc4563c73046f457924c6f708a.zip
Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_mutex_timedlock_wait): Preserve r8 and r9 since the vgettimeofday call miht destroy the content.
-rw-r--r--nptl/ChangeLog4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S4
2 files changed, 8 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index c75be9a91a..a10c6c12ec 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,9 @@
2004-03-23 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+ (__lll_mutex_timedlock_wait): Preserve r8 and r9 since the
+ vgettimeofday call miht destroy the content.
+
* sysdeps/ia64/pthread_spin_lock.c (pthread_spin_lock): Use hint
@pause in the loop.
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
index 2c918d7622..cf3dad18fb 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
@@ -78,6 +78,8 @@ __lll_mutex_timedlock_wait:
cmpq $1000000000, 8(%rdx)
jae 3f
+ pushq %r8
+ pushq %r9
pushq %r12
pushq %r13
pushq %r14
@@ -142,6 +144,8 @@ __lll_mutex_timedlock_wait:
popq %r14
popq %r13
popq %r12
+ popq %r9
+ popq %r8
retq
/* Check whether the time expired. */