Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 25 Dec 2002 08:56:55 +0000 (08:56 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 25 Dec 2002 08:56:55 +0000 (08:56 +0000)
2002-12-25  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Implement
correct errno access for case that USE___THREAD is not defined.

nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S

index d65839f..fdfcf7c 100644 (file)
@@ -1,3 +1,8 @@
+2002-12-25  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Implement
+       correct errno access for case that USE___THREAD is not defined.
+
 2002-12-24  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Add missing #endif.
index bfec6fa..dd7d34e 100644 (file)
@@ -80,9 +80,15 @@ __new_sem_wait:
 4:
 #endif
        addl    $_GLOBAL_OFFSET_TABLE_, %ebx
+#if USE___THREAD
        movl    %gs:0, %edx
        subl    errno@gottpoff(%ebx), %edx
        movl    %eax, (%edx)
+#else
+       movl    %eax, %edx
+       call    __errno_location@plt
+       movl    %edx, (%eax)
+#endif
        orl     $-1, %eax
        popl    %esi
        popl    %ebx
@@ -121,9 +127,14 @@ __new_sem_trywait:
 3:
 #endif
        addl    $_GLOBAL_OFFSET_TABLE_, %ecx
+#if USE___THREAD
        movl    %gs:0, %edx
        subl    errno@gottpoff(%ecx), %edx
        movl    $EAGAIN, (%edx)
+#else
+       call    __errno_location@plt
+       movl    $EAGAIN, (%eax)
+#endif
        orl     $-1, %eax
        ret
        .size   __new_sem_trywait,.-__new_sem_trywait
@@ -226,9 +237,15 @@ sem_timedwait:
 4:
 #endif
        addl    $_GLOBAL_OFFSET_TABLE_, %ebx
+#if USE___THREAD
        movl    %gs:0, %edx
        subl    errno@gottpoff(%ebx), %edx
        movl    %eax, (%edx)
+#else
+       movl    %eax, %edx
+       call    __errno_location@plt
+       movl    %edx, (%eax)
+#endif
 
        addl    $8, %esp
        orl     $-1, %eax
@@ -272,9 +289,14 @@ __new_sem_post:
 4:
 #endif
        addl    $_GLOBAL_OFFSET_TABLE_, %ebx
+#if USE___THREAD
        movl    %gs:0, %edx
        subl    errno@gottpoff(%ebx), %edx
        movl    $EINVAL, (%edx)
+#else
+       call    __errno_location@plt
+       movl    $EAGAIN, (%eax)
+#endif
 
        orl     $-1, %eax
        popl    %ebx