diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-08-25 18:55:07 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-08-25 18:55:07 +0000 |
commit | dd3394742b3e2e01f403b1c1b41ed39273b2212e (patch) | |
tree | 5fed86738b0d518989679f3194f896fc9fcebbe2 /nptl/sysdeps/unix/sysv/linux | |
parent | 9b0cdd693e7f54fd35fd58931b940efe6ccb88cd (diff) |
Updated to fedora-glibc-20070825T1839
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h | 4 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h index 9fa321cb3f..93188234cb 100644 --- a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h @@ -94,12 +94,12 @@ INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \ }) -#define lll_robust_dead(futexv) \ +#define lll_robust_dead(futexv, private) \ do \ { \ int *__futexp = &(futexv); \ atomic_or (__futexp, FUTEX_OWNER_DIED); \ - lll_futex_wake (__futexp, 1, LLL_SHARED); \ + lll_futex_wake (__futexp, 1, private); \ } \ while (0) 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 a5de670866..d730a7e12d 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 @@ -134,8 +134,15 @@ __pthread_cond_timedwait: /* Only clocks 0 and 1 are allowed so far. Both are handled in the kernel. */ leaq 24(%rsp), %rsi - movl $__NR_clock_gettime, %eax + movq __vdso_clock_gettime@GOTPCREL(%rip), %rax + movq (%rax), %rax + PTR_DEMANGLE (%rax) + jz 26f + call *%rax + jmp 27f +26: movl $__NR_clock_gettime, %eax syscall +27: # ifndef __ASSUME_POSIX_TIMERS cmpq $-ENOSYS, %rax je 19f |