diff options
Diffstat (limited to 'newlib/libc/sys/go32/gerrno.s')
-rw-r--r-- | newlib/libc/sys/go32/gerrno.s | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/newlib/libc/sys/go32/gerrno.s b/newlib/libc/sys/go32/gerrno.s new file mode 100644 index 0000000..ff6b6da --- /dev/null +++ b/newlib/libc/sys/go32/gerrno.s @@ -0,0 +1,33 @@ +# /* This is file GERRNO.S */ +# /* +# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954 +# ** +# ** This file is distributed under the terms listed in the document +# ** "copying.dj", available from DJ Delorie at the address above. +# ** A copy of "copying.dj" should accompany this file; if not, a copy +# ** should be available from where this file was obtained. This file +# ** may not be distributed without a verbatim copy of "copying.dj". +# ** +# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied +# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# */ + +# Modified to use newlib's reent mechanism, 960414, dje. +# Reentrancy isn't really supported of course, the purpose is to +# record `errno' in the normal place. + + .text + .globl syscall_error +syscall_error: + pushl %eax + call ___errno + popl %edx + mov %edx,(%eax) + mov $-1,%eax + ret + + .globl syscall_check +syscall_check: + jb syscall_error + mov $0,%eax + ret |