diff options
author | Andreas Schwab <schwab@redhat.com> | 2009-08-10 08:10:11 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-08-10 08:10:11 -0700 |
commit | ec4922395b05b428cb2cd17ea8118087e0ed6df4 (patch) | |
tree | babd0b2fcd81ac7d50f554c5a46d3e4e4b3f54e9 | |
parent | efa0569d2bfdbb7367fce42b1c99821b85d2d3ba (diff) | |
download | glibc-ec4922395b05b428cb2cd17ea8118087e0ed6df4.tar.gz glibc-ec4922395b05b428cb2cd17ea8118087e0ed6df4.tar.xz glibc-ec4922395b05b428cb2cd17ea8118087e0ed6df4.zip |
Fix check for PI mutex in x86-64 pthread_cond_signal
Register eax contains the syscall number, use a different one instead.
-rw-r--r-- | nptl/ChangeLog | 6 | ||||
-rw-r--r-- | 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 <schwab@redhat.com> + + * 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 <drepper@redhat.com> * 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 |