Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/go32/gerrno.s')
-rw-r--r--newlib/libc/sys/go32/gerrno.s33
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 000000000..fa3f30774
--- /dev/null
+++ b/newlib/libc/sys/go32/gerrno.s
@@ -0,0 +1,33 @@
+# /* This is file GERRNO.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj".
+# ** 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