aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
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 /nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
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.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S4
1 files changed, 4 insertions, 0 deletions
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. */