diff options
Diffstat (limited to 'util/romcc/tests/simple_test76.c')
-rw-r--r-- | util/romcc/tests/simple_test76.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/util/romcc/tests/simple_test76.c b/util/romcc/tests/simple_test76.c deleted file mode 100644 index 74b1cf1657..0000000000 --- a/util/romcc/tests/simple_test76.c +++ /dev/null @@ -1,69 +0,0 @@ -struct syscall_result { - long val; - int errno; -}; - -static struct syscall_result syscall_return(long result) -{ - struct syscall_result res; - if (((unsigned long)result) >= ((unsigned long)-125)) { - res.errno = - result; - res.val = -1; - } else { - res.errno = 0; - res.val = result; - } - return res; -} -static struct syscall_result syscall1(unsigned long nr, unsigned long arg1) -{ - long res; - asm volatile( - "int $0x80" - : "=a" (res) - : "a" (nr), "b" (arg1)); - return syscall_return(res); - -} - -static struct syscall_result syscall3(unsigned long nr, unsigned long arg1, unsigned long arg2, - unsigned long arg3) -{ - long res; - asm volatile( - "int $0x80" - : "=a" (res) - : "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3)); - return syscall_return(res); - -} - -#define NR_exit 1 -#define NR_write 4 -/* Standard file descriptors */ -#define STDIN_FILENO 0 /* Standard input */ -#define STDOUT_FILENO 1 /* Standard output */ -#define STDERR_FILENO 2 /* Standard error output */ - -typedef long ssize_t; -typedef unsigned long size_t; - -static ssize_t write(int fd, const void *buf, size_t count) -{ - struct syscall_result res; - res = syscall3(NR_write, fd, (unsigned long)buf, count); - return res.val; -} - -static void _exit(int status) -{ - struct syscall_result res; - res = syscall1(NR_exit, status); -} - -static void main(void) -{ - static const char msg[] = "hello world\r\n"; - write(STDOUT_FILENO, msg, sizeof(msg)); - _exit(0); -} |