about summary refs log tree commit diff
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)
downloadglibc-c2e5e08573cd001c4f57f6c0b1c5f7708c6eca6d.tar.gz
glibc-c2e5e08573cd001c4f57f6c0b1c5f7708c6eca6d.tar.xz
glibc-c2e5e08573cd001c4f57f6c0b1c5f7708c6eca6d.zip
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