summary refs log tree commit diff
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
parentcb95113e30aead7b97cd806278c0ff055ba721b6 (diff)
downloadglibc-c2b18f7a0efcf5c6abffba3d6f9b9d708a55c5b6.tar.gz
glibc-c2b18f7a0efcf5c6abffba3d6f9b9d708a55c5b6.tar.xz
glibc-c2b18f7a0efcf5c6abffba3d6f9b9d708a55c5b6.zip
Add missing register initialization in x86-64 pthread_cond_timedwait
-rw-r--r--NEWS2
-rw-r--r--nptl/ChangeLog8
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S6
3 files changed, 12 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 73ab2b9e87..75d9706754 100644
--- a/NEWS
+++ b/NEWS
@@ -12,7 +12,7 @@ Version 2.15
   6779, 6783, 9696, 10709, 11589, 12403, 12847, 12868, 12852, 12874, 12885,
   12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092,
   13114, 13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291,
-  13335, 13337, 13344
+  13335, 13337, 13344, 13358
 
 * New program pldd to list loaded object of a process
   Implemented by Ulrich Drepper.
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