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 'libgloss/sparc/syscalls.c')
-rw-r--r--libgloss/sparc/syscalls.c85
1 files changed, 85 insertions, 0 deletions
diff --git a/libgloss/sparc/syscalls.c b/libgloss/sparc/syscalls.c
new file mode 100644
index 000000000..01ba50166
--- /dev/null
+++ b/libgloss/sparc/syscalls.c
@@ -0,0 +1,85 @@
+/* Copyright (c) 1995 Cygnus Support
+ *
+ * The authors hereby grant permission to use, copy, modify, distribute,
+ * and license this software and its documentation for any purpose, provided
+ * that existing copyright notices are retained in all copies and that this
+ * notice is included verbatim in any distributions. No written agreement,
+ * license, or royalty fee is required for any of the authorized uses.
+ * Modifications to this software may be copyrighted by their authors
+ * and need not follow the licensing terms described here, provided that
+ * the new terms are clearly indicated on the first page of each file where
+ * they apply.
+ *
+ * fake unix routines for sparclite and remote debugger
+ * Many of these routines just substitute an appropriate error status,
+ * if you want some kind of file system access, you'll have to fill them in...
+ * sbrk on the other hand is functional (malloc uses it) but it doesn't do
+ * any checking for lack of memory.
+ * kill and _exit could get more real implementations, as well.
+ */
+
+#include <sys/stat.h>
+
+int
+fstat(int _fd, struct stat* _sbuf)
+{
+ /* this is used in a few places in stdio... */
+ /* just error, so they assume a pipe */
+ return -1;
+}
+
+int
+isatty(int _fd)
+{
+ return 1;
+}
+
+int
+close(int _fd)
+{
+ /* return value usually ignored anyhow */
+ return 0;
+}
+
+int
+open(char *filename)
+{
+ /* always fail */
+ return -1;
+}
+
+int
+getpid() {
+ return 1;
+}
+
+int
+kill(int pid) {
+ /* if we knew how to nuke the board, we would... */
+ return 0;
+}
+
+void
+_exit(int status) {
+ /* likewise... */
+ return;
+}
+
+int
+lseek(int _fd, off_t offset, int whence)
+{
+ /* nothing is ever seekable */
+ return -1;
+}
+
+extern char end;
+char*
+sbrk(int incr)
+{
+ static char* base;
+ char *b;
+ if(!base) base = &end;
+ b = base;
+ base += incr;
+ return b;
+}