aboutsummaryrefslogtreecommitdiff
path: root/libgloss/m68hc11/syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/m68hc11/syscalls.c')
-rw-r--r--libgloss/m68hc11/syscalls.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/libgloss/m68hc11/syscalls.c b/libgloss/m68hc11/syscalls.c
deleted file mode 100644
index 9620146..0000000
--- a/libgloss/m68hc11/syscalls.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* pseudo system calls for M68HC11 & M68HC12.
- * Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr)
- *
- * 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.
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-extern void outbyte(char c);
-extern char inbyte(void);
-
-int
-read(int file, void *p, size_t nbytes)
-{
- int i = 0;
- char* buf = (char*) p;
-
- for (i = 0; i < nbytes; i++) {
- *(buf + i) = inbyte();
- if ((*(buf + i) == '\n') || (*(buf + i) == '\r')) {
- i++;
- break;
- }
- }
- return (i);
-}
-
-int
-write(int file, const void *p, size_t len)
-{
- const char *ptr = (const char*) p;
- int todo;
-
- for (todo = len; todo; --todo)
- {
- outbyte (*ptr++);
- }
- return(len);
-}
-
-void *
-sbrk(ptrdiff_t incr)
-{
- extern char _end; /* Defined by the linker */
- static char *heap_end;
- char *prev_heap_end;
-
- register char *stack_ptr asm ("sp");
-
- if (heap_end == 0)
- {
- heap_end = &_end;
- }
- prev_heap_end = heap_end;
- if (heap_end + incr > stack_ptr)
- {
- write (1, "Heap and stack collision\n", 25);
- abort ();
- }
- heap_end += incr;
- return ((void*) prev_heap_end);
-}
-
-/* end of syscalls.c */