]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - sysdeps/unix/i386/sysdep.S
Update copyright notices with scripts/update-copyrights
[thirdparty/glibc.git] / sysdeps / unix / i386 / sysdep.S
index 3bc872add84c5a44eeabd95dff542045172571bc..bfe0d00c1e0883a074ff090295ac2521b911aad4 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991,1992,1993,1994,1995,1996,1997,2000,2002,2004,2005
-       Free Software Foundation, Inc.
+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
 #define _ERRNO_H
 #include <bits/errno.h>
-#include <bp-asm.h>
-#include <bp-sym.h>
 
 #ifdef IS_IN_rtld
 # include <dl-sysdep.h>                /* Defines RTLD_PRIVATE_ERRNO.  */
 .globl C_SYMBOL_NAME(errno)
 .globl syscall_error
 
-#undef syscall_error
-#ifdef NO_UNDERSCORES
 __syscall_error:
-#else
-syscall_error:
-#endif
 #if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
        /* We translate the system's EWOULDBLOCK error into EAGAIN.
           The GNU C library always defines EWOULDBLOCK==EAGAIN.
@@ -46,57 +37,24 @@ syscall_error:
 notb:
 #endif
 #ifndef        PIC
-# if USE___THREAD
-#  ifndef NO_TLS_DIRECT_SEG_REFS
+# ifndef NO_TLS_DIRECT_SEG_REFS
        movl %eax, %gs:C_SYMBOL_NAME(errno@NTPOFF)
-#  else
+# else
        movl %gs:0, %ecx
        movl %eax, C_SYMBOL_NAME(errno@NTPOFF)(%ecx)
-#  endif
-# elif !defined _LIBC_REENTRANT
-       movl %eax, C_SYMBOL_NAME(errno)
-# else
-       pushl %eax
-       PUSH_ERRNO_LOCATION_RETURN
-       call BP_SYM (__errno_location)
-       POP_ERRNO_LOCATION_RETURN
-       popl %ecx
-       movl %ecx, (%eax)
 # endif
 #else
        /* The caller has pushed %ebx and then set it up to
           point to the GOT before calling us through the PLT.  */
-# if USE___THREAD
        movl C_SYMBOL_NAME(errno@GOTNTPOFF)(%ebx), %ecx
 
        /* Pop %ebx value saved before jumping here.  */
        popl %ebx
-#  ifndef NO_TLS_DIRECT_SEG_REFS
+# ifndef NO_TLS_DIRECT_SEG_REFS
        addl %gs:0, %ecx
        movl %eax, (%ecx)
-#  else
-       movl %eax, %gs:0(%ecx)
-#  endif
-# elif RTLD_PRIVATE_ERRNO
-       movl %eax, C_SYMBOL_NAME(rtld_errno@GOTOFF)(%ebx)
-
-       /* Pop %ebx value saved before jumping here.  */
-       popl %ebx
-# elif !defined _LIBC_REENTRANT
-       movl C_SYMBOL_NAME(errno@GOT)(%ebx), %ecx
-
-       /* Pop %ebx value saved before jumping here.  */
-       popl %ebx
-       movl %eax, (%ecx)
 # else
-       pushl %eax
-       PUSH_ERRNO_LOCATION_RETURN
-       call C_SYMBOL_NAME (BP_SYM (__errno_location)@PLT)
-       POP_ERRNO_LOCATION_RETURN
-       popl %ecx
-       /* Pop %ebx value saved before jumping here.  */
-       popl %ebx
-       movl %ecx, (%eax)
+       movl %eax, %gs:0(%ecx)
 # endif
 #endif
        movl $-1, %eax