Update copyright notices with scripts/update-copyrights.
[glibc.git] / ports / sysdeps / unix / am33 / sysdep.S
blobc5f0208704470a2e51afeb0c16bd1f5c2ddc962d
1 /* Copyright (C) 1991-2013 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by Alexandre Oliva <aoliva@redhat.com>.
4    Based on ../i386/sysdep.S.
6    The GNU C Library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Library General Public License as
8    published by the Free Software Foundation; either version 2 of the
9    License, or (at your option) any later version.
11    The GNU C Library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Library General Public License for more details.
16    You should have received a copy of the GNU Library General Public
17    License along with the GNU C Library.  If not, see
18    <http://www.gnu.org/licenses/>.  */
20 #include <sysdep.h>
21 #define _ERRNO_H
22 #include <bits/errno.h>
24 .globl C_SYMBOL_NAME(errno)
25 .globl syscall_error
27 #undef syscall_error
28 #ifdef NO_UNDERSCORES
29 __syscall_error:
30 #else
31 syscall_error:
32 #endif
33 #if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
34         /* We translate the system's EWOULDBLOCK error into EAGAIN.
35            The GNU C library always defines EWOULDBLOCK==EAGAIN.
36            EWOULDBLOCK_sys is the original number.  */
37         cmp EWOULDBLOCK_sys,d0  /* Is it the old EWOULDBLOCK?  */
38         bne .Lnotb              /* Branch if not.  */
39         mov EAGAIN,d0           /* Yes; translate it to EAGAIN.  */
40 .Lnotb:
41 #endif
42 #ifndef PIC
43 # ifndef _LIBC_REENTRANT
44         mov d0,(C_SYMBOL_NAME (errno))
45 # else
46         movm [d2],(sp)
47         add -12,sp
48         mov d0,d2
49         call __errno_location,[],0
50         mov d2,(a0)
51         add 12,sp
52         movm (sp),[d2]
53 # endif
54 #else
55 # error "This shouldn't be assembled for PIC"
56 #endif
57         mov -1,d0
58         mov d0,a0
59         ret
61 #undef  __syscall_error
62 END (__syscall_error)