diff options
Diffstat (limited to 'libgloss/m68hc11/syscalls.c')
-rw-r--r-- | libgloss/m68hc11/syscalls.c | 74 |
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 */ |