diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-12 05:45:00 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-12 05:45:00 +0000 |
commit | 5a03acfe371193faace69e5517864ba3b9fc2b9f (patch) | |
tree | 7d92152ecdd4461da2692f4fa399609341eac44a /nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | |
parent | b874af999547ee4e7688fc07710786131eef7d1b (diff) |
Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Fix asm syntax.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/x86_64/tls.h (THREAD_SELF, THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Correct asm syntax.
* allocatestack.c [! TLS_MULTIPLE_THREADS_IN_TCB] (allocate_stack):
Initialize *__libc_multiple_threads_ptr not __libc_multiple_threads.
* sysdeps/pthread/createthread.c [! TLS_MULTIPLE_THREADS_IN_TCB]
(create_thread): Likewise.
Define __pthread_multiple_threads and __libc_multiple_threads_ptr.
* init.c (__pthread_initialize_minimal_internal): Initialize
__libc_multiple_threads_ptr if necessary.
* pthreadP.h: Adjust prototype for __libc_pthread_init. Declare
__pthread_multiple_threads and __libc_multiple_threads_ptr.
* sysdeps/unix/sysv/linux/libc_pthread_init.c: Define
__libc_multiple_threads.
(__libc_pthread_init): Return pointer to __libc_pthread_init if
necessary.
* sysdeps/i386/tls.h (THREAD_SETMEM): Fix one-byte variant.
(THREAD_SETMEM_NC): Likewise.
* sysdeps/x86_64/pthread_spin_trylock.c: Removed.
* sysdeps/x86_64/pthread_spin_trylock.S: New file.
* sysdeps/x86_64/pthread_spin_unlock.c: Removed.
* sysdeps/x86_64/pthread_spin_unlock.S: New file.
* sysdeps/i386/i486/pthread_spin_trylock.S (pthread_spin_trylock):
Eliminate one entire instruction.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S index 193cc081e1..831d4f9c90 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S @@ -42,7 +42,7 @@ __condvar_cleanup: /* Get internal lock. */ movq %rdi, %r8 - movl 8(%rdi), %rdi + movq 8(%rdi), %rdi movl $1, %esi LOCK #if cond_lock == 0 @@ -89,7 +89,7 @@ __condvar_cleanup: 2: testq $2, (%r8) jne 3f - movq 16(%r8), %edi + movq 16(%r8), %rdi callq __pthread_mutex_lock_internal 3: retq @@ -101,7 +101,7 @@ __condvar_cleanup: .type __pthread_cond_wait, @function .align 16 __pthread_cond_wait: - pushq %12 + pushq %r12 subq $64, %rsp /* Prepare structure passed to cancellation handler. */ @@ -131,7 +131,7 @@ __pthread_cond_wait: /* Install cancellation handler. */ #ifdef PIC - leaq __condvar_cleanup@GOTOFF(%rip), %rsi + leaq __condvar_cleanup(%rip), %rsi #else leaq __condvar_cleanup, %rsi #endif @@ -153,7 +153,7 @@ __pthread_cond_wait: #endif jne 3f -4: movq %rsp, %edi +4: movq %rsp, %rdi callq __pthread_enable_asynccancel_2 movq 8(%rsp), %rdi |