about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux
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
parent7fe1586f4615281664b844ac9981a0711f7e2128 (diff)
downloadglibc-565699e492f741bc4563c73046f457924c6f708a.tar.gz
glibc-565699e492f741bc4563c73046f457924c6f708a.tar.xz
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')
-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.  */