Define _POSIX_MONOTONIC_CLOCK.
[kopensolaris-gnu/glibc.git] / nptl / sysdeps / unix / sysv / linux / i386 / pthread_once.S
index 747c8ec..9c4647c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -86,7 +86,7 @@ __pthread_once:
        /* Somebody else got here first.  Wait.  */
        movl    %esi, %ecx              /* movl $FUTEX_WAIT, %ecx */
        movl    $SYS_futex, %eax
-       int     $0x80
+       ENTER_KERNEL
        jmp     6b
 
 3:     /* Call the initializer function after setting up the
@@ -103,7 +103,7 @@ __pthread_once:
        pushl   %ebx
        pushl   %eax
        pushl   %edx
-       call    _GI_pthread_cleanup_push        /* Note: no @PLT.  */
+       call    __pthread_cleanup_push  /* Note: no @PLT.  */
 
        movl    44(%esp), %eax
        call    *%eax
@@ -113,7 +113,7 @@ __pthread_once:
           of the stack.  Otherwise the first parameter would have
           to be reloaded.  */
        movl    $0, 4(%esp)
-       call    _GI_pthread_cleanup_pop /* Note: no @PLT.  */
+       call    __pthread_cleanup_pop   /* Note: no @PLT.  */
 
        addl    $28, %esp
 
@@ -125,7 +125,7 @@ __pthread_once:
        movl    $0x7fffffff, %edx
        movl    $FUTEX_WAKE, %ecx
        movl    $SYS_futex, %eax
-       int     $0x80
+       ENTER_KERNEL
 
 4:     popl    %esi
        popl    %ebx
@@ -134,6 +134,9 @@ __pthread_once:
 
        .size   __pthread_once,.-__pthread_once
 
+       .globl  __pthread_once_internal
+__pthread_once_internal = __pthread_once
+
        .globl  pthread_once
 pthread_once = __pthread_once
 
@@ -144,14 +147,14 @@ clear_once_control:
        pushl   %esi
        pushl   %ebx
 
-       movl    4(%esp), %eax
-       movl    $0, (%eax)
+       movl    12(%esp), %ebx
+       movl    $0, (%ebx)
 
        xorl    %esi, %esi
        movl    $0x7fffffff, %edx
        movl    $FUTEX_WAKE, %ecx
        movl    $SYS_futex, %eax
-       int     $0x80
+       ENTER_KERNEL
 
        popl    %ebx
        popl    %esi