From ec4922395b05b428cb2cd17ea8118087e0ed6df4 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 10 Aug 2009 08:10:11 -0700 Subject: [PATCH] Fix check for PI mutex in x86-64 pthread_cond_signal Register eax contains the syscall number, use a different one instead. --- nptl/ChangeLog | 6 ++++++ nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 5be464e2f2..092962fab6 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,9 @@ +2009-08-10 Andreas Schwab + + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S + (__pthread_cond_signal): Don't clobber register used for syscall + number. + 2009-08-08 Ulrich Drepper * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S index 4d001eec7f..d1d83a84f9 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S @@ -64,9 +64,9 @@ __pthread_cond_signal: /* Get the address of the mutex used. */ movq dep_mutex(%r8), %rcx - movl MUTEX_KIND(%rcx), %eax - andl $(ROBUST_BIT|PI_BIT), %eax - cmpl $PI_BIT, %eax + movl MUTEX_KIND(%rcx), %r11d + andl $(ROBUST_BIT|PI_BIT), %r11d + cmpl $PI_BIT, %r11d je 9f #ifdef __ASSUME_PRIVATE_FUTEX