glibc/sysdeps/unix/mips/sysdep.S

43 lines
1.3 KiB
ArmAsm
Raw Normal View History

1995-02-18 02:27:10 +01:00
/* Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#define _ERRNO_H
#include <errnos.h>
/* .globl errno */
.set noreorder
ENTRY(syscall_error)
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
/* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN.
EWOULDBLOCK_sys is the original number. */
bne v0, EWOULDBLOCK_sys, skip
nop
li v0, EAGAIN
skip:
#endif
/* Store it in errno... */
sw v0, errno
/* And just kick back a -1. */
j ra
li v0, -1
* sysdeps/unix/mips/brk.S (__brk, __curbrk): Add .end. * sysdeps/unix/mips/fork.S (fork): Likewise. * sysdeps/unix/mips/pipe.S (fork): Likewise. * sysdeps/unix/mips/sigreturn.S (__sigreturn): Likewise. * sysdeps/unix/mips/sysdep.S (sysdep_error): Likewise. * sysdeps/unix/mips/wait.S (__handler): Likewise. * sysdeps/mips/setjmp.S (__sigsetjmp): Likewise. * sysdeps/mips/bsd-setjmp.S (setjmp): Likewise. * sysdeps/unix/bsd/ultrix4/getsysinfo.S (getsysinfo): Likewise. * sysdeps/unix/bsd/ultrix4/wait3.S (waitpid): Likewise. * sysdeps/unix/bsd/ultrix4/waitpid.S (waitpid): Likewise. * sysdeps/unix/bsd/ultrix4/mips/__handler.S (__handler): Likewise. * sysdeps/unix/bsd/ultrix4/mips/sigvec.S (__raw_sigvec): Likewise. * sysdeps/unix/bsd/ultrix4/mips/start.S (__start): Likewise. * sysdeps/unix/bsd/ultrix4/mips/vfork.S (vfork): Likewise. * sysdeps/mips/bsd-_setjmp.S (setjmp): Likewise. Use `$0' instead of `zero' for the li instruction. * sysdeps/unix/mips/brk.S (__brk, __curbrk): Add .end. * sysdeps/unix/mips/fork.S (fork): Likewise. * sysdeps/unix/mips/pipe.S (fork): Likewise. * sysdeps/unix/mips/sigreturn.S (__sigreturn): Likewise. * sysdeps/unix/mips/sysdep.S (sysdep_error): Likewise. * sysdeps/unix/mips/wait.S (__handler): Likewise. * sysdeps/mips/setjmp.S (__sigsetjmp): Likewise. * sysdeps/mips/bsd-setjmp.S (setjmp): Likewise. * sysdeps/unix/bsd/ultrix4/getsysinfo.S (getsysinfo): Likewise. * sysdeps/unix/bsd/ultrix4/wait3.S (waitpid): Likewise. * sysdeps/unix/bsd/ultrix4/waitpid.S (waitpid): Likewise. * sysdeps/unix/bsd/ultrix4/mips/__handler.S (__handler): Likewise. * sysdeps/unix/bsd/ultrix4/mips/sigvec.S (__raw_sigvec): Likewise. * sysdeps/unix/bsd/ultrix4/mips/start.S (__start): Likewise. * sysdeps/unix/bsd/ultrix4/mips/vfork.S (vfork): Likewise. * sysdeps/mips/bsd-_setjmp.S (setjmp): Likewise. Use `$0' instead of `zero' for the li instruction.
1995-04-15 04:30:20 +02:00
.end syscall_error