about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-10-29 15:50:01 -0400
committerUlrich Drepper <drepper@gmail.com>2011-10-29 15:50:01 -0400
commitc2b18f7a0efcf5c6abffba3d6f9b9d708a55c5b6 (patch)
tree4de493357ed8859991db6df38eff6c6188a502de /nptl
parentcb95113e30aead7b97cd806278c0ff055ba721b6 (diff)
downloadglibc-c2b18f7a0efcf5c6abffba3d6f9b9d708a55c5b6.tar.gz
glibc-c2b18f7a0efcf5c6abffba3d6f9b9d708a55c5b6.tar.xz
glibc-c2b18f7a0efcf5c6abffba3d6f9b9d708a55c5b6.zip
Add missing register initialization in x86-64 pthread_cond_timedwait
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog8
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S6
2 files changed, 11 insertions, 3 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 6b483d6c74..1c084f7e3c 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,11 @@
+2011-10-29  Ulrich Drepper  <drepper@gmail.com>
+
+	[BZ #13358]
+	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+	(__pthread_cond_timedwait): Initialize %r15 correctly also for code
+	path for kernels with FUTEX_CLOCK_REALTIME.
+	Debugged by H.J. Lu <hjl.tools@gmail.com>.
+
 2011-10-27  Andreas Schwab  <schwab@redhat.com>
 
 	[BZ #13344]
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
index d11b29746a..acbd3fa533 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2005,2007,2009,2010,2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -101,6 +101,8 @@ __pthread_cond_timedwait:
 	movq	%rsi, dep_mutex(%rdi)
 
 22:
+	xorl	%r15d, %r15d
+
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 #  ifdef PIC
 	cmpl	$0, __have_futex_clock_realtime(%rip)
@@ -402,8 +404,6 @@ __pthread_cond_timedwait:
 
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 .Lreltmo:
-	xorl	%r15d, %r15d
-
 	/* Get internal lock.  */
 	movl	$1, %esi
 	xorl	%eax, %eax