diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/pthread_cond_timedwait.S | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S | 1 |
3 files changed, 8 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2016-03-23 Nick Alcock <nick.alcock@oracle.com> + + * sysdeps/unix/sysv/linux/i386/pthread_cond_timedwait.S: Reload + call-clobbered %eax on retry path. + * sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S: Likewise. + 2016-03-22 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S (MEMCPY): diff --git a/sysdeps/unix/sysv/linux/i386/pthread_cond_timedwait.S b/sysdeps/unix/sysv/linux/i386/pthread_cond_timedwait.S index 96f8a8dc73..6256376923 100644 --- a/sysdeps/unix/sysv/linux/i386/pthread_cond_timedwait.S +++ b/sysdeps/unix/sysv/linux/i386/pthread_cond_timedwait.S @@ -297,6 +297,7 @@ __pthread_cond_timedwait: correctly. */ movl dep_mutex(%ebx), %eax call __pthread_mutex_cond_lock_adjust + movl dep_mutex(%ebx), %eax xorl %edx, %edx call __pthread_mutex_unlock_usercnt jmp 8b diff --git a/sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S b/sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S index 94302b0641..5016718801 100644 --- a/sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S +++ b/sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S @@ -309,6 +309,7 @@ __pthread_cond_wait: correctly. */ movl dep_mutex(%ebx), %eax call __pthread_mutex_cond_lock_adjust + movl dep_mutex(%ebx), %eax xorl %edx, %edx call __pthread_mutex_unlock_usercnt jmp 8b |