summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-10 07:39:55 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-10 07:39:55 +0000
commitc2e5e08573cd001c4f57f6c0b1c5f7708c6eca6d (patch)
treeef6b894ff829b65aa36338e66796e34f26a09415 /nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
parentcd4b2a553a5e0fa51f2ad74166b12820316ab66e (diff)
Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Fix many leftovers from the ia32 code. * sysdeps/unix/sysv/linux/i386/pthread_once.S: Remove unneccessary memory load. (clear_once_control): Don't load %esi. * sysdeps/x86_64/tls.h: Remove all traces of segment descriptor handling. * sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S8
1 files changed, 2 insertions, 6 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S b/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
index abab62ff1e..8d3deb88f8 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
@@ -105,8 +105,7 @@ __pthread_once:
pushl %edx
call __pthread_cleanup_push /* Note: no @PLT. */
- movl 44(%esp), %eax
- call *%eax
+ call *44(%esp)
/* Pop the cleanup handler. This code depends on the once
handler and _pthread_cleanup_push not touch the content
@@ -144,20 +143,17 @@ pthread_once = __pthread_once
.type clear_once_control,@function
.align 16
clear_once_control:
- pushl %esi
pushl %ebx
- movl 12(%esp), %ebx
+ movl 8(%esp), %ebx
movl $0, (%ebx)
- xorl %esi, %esi
movl $0x7fffffff, %edx
movl $FUTEX_WAKE, %ecx
movl $SYS_futex, %eax
ENTER_KERNEL
popl %ebx
- popl %esi
ret
.size clear_once_control,.-clear_once_control