From e9aea0b33ea95f55a7eaeb2b2baba4c19963e70a Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Tue, 19 Sep 1995 01:47:35 +0000 Subject: [PATCH] Mon Sep 18 18:42:27 1995 steve chamberlain * interp.c (trap): Remove useless code. Fri Sep 15 19:30:05 1995 steve chamberlain * syscall.h: Copy from newlib. --- sim/sh/.Sanitize | 1 + sim/sh/ChangeLog | 8 ++++++++ sim/sh/interp.c | 43 +++++++------------------------------------ sim/sh/syscall.h | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 36 deletions(-) create mode 100644 sim/sh/syscall.h diff --git a/sim/sh/.Sanitize b/sim/sh/.Sanitize index 22ad58a5dbb..f8a5bad46f3 100644 --- a/sim/sh/.Sanitize +++ b/sim/sh/.Sanitize @@ -33,6 +33,7 @@ interp.c gencode.c run.1 run.c +syscall.h Things-to-lose: diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog index e2488c1ef19..382b22c73de 100644 --- a/sim/sh/ChangeLog +++ b/sim/sh/ChangeLog @@ -1,3 +1,11 @@ +Mon Sep 18 18:42:27 1995 steve chamberlain + + * interp.c (trap): Remove useless code. + +Fri Sep 15 19:30:05 1995 steve chamberlain + + * syscall.h: Copy from newlib. + start-sanitize-sh3e Thu Sep 14 19:32:59 1995 Stu Grossman (grossman@cygnus.com) diff --git a/sim/sh/interp.c b/sim/sh/interp.c index 1d22029e61d..beaf4429766 100644 --- a/sim/sh/interp.c +++ b/sim/sh/interp.c @@ -22,23 +22,18 @@ #include "sysdep.h" #include "bfd.h" #include "remote-sim.h" -#include + +/* This file is local - if newlib changes, then so should this. */ +#include "syscall.h" /* start-sanitize-sh3e */ #include /* end-sanitize-sh3e */ -#if !defined (SYS_wait) && defined (SYS_wait4) -#define SYS_wait SYS_wait4 /* SunOS 4.1.3 for example */ -#endif - -#if !defined (SYS_utime) && defined (SYS_utimes) -#define SYS_utime SYS_utimes /* SunOS 4.1.3 for example */ -#endif - #ifndef SIGBUS #define SIGBUS SIGSEGV #endif + #ifndef SIGQUIT #define SIGQUIT SIGTERM #endif @@ -79,7 +74,6 @@ int fail () { abort (); - } #define BUSERROR(addr, mask) \ @@ -168,11 +162,9 @@ typedef union int profile; unsigned short *profile_hist; unsigned char *memory; - } asregs; - int asints[28]; - + int asints[28]; } saved_state_type; saved_state_type saved_state; @@ -470,25 +462,7 @@ trap (i, regs, memory, maskl, maskw, little_endian) case 2: saved_state.asregs.exception = SIGQUIT; break; -#if 0 - case 8: - trap8 (ptr (regs[4])); - break; - case 9: - trap9 (ptr (regs[4])); - break; - case 10: - trap10 (); - break; - case 11: - regs[0] = trap11 (); - break; - case 12: - regs[0] = trap12 (); - break; -#endif - - case 3: /* FIXME: for backwards compat, should be removed */ + case 3: /* FIXME: for backwards compat, should be removed */ case 34: { extern int errno; @@ -499,18 +473,15 @@ trap (i, regs, memory, maskl, maskw, little_endian) { #if !defined(__GO32__) && !defined(WIN32) - case SYS_fork: regs[0] = fork (); break; case SYS_execve: regs[0] = execve (ptr (regs[5]), ptr (regs[6]), ptr (regs[7])); break; -#ifdef SYS_execv /* May be implemented as execve(arg,arg,0) */ case SYS_execv: - regs[0] = execv (ptr (regs[5]), ptr (regs[6])); + regs[0] = execve (ptr (regs[5]), ptr (regs[6]), 0); break; -#endif case SYS_pipe: { char *buf; diff --git a/sim/sh/syscall.h b/sim/sh/syscall.h new file mode 100644 index 00000000000..2c154476799 --- /dev/null +++ b/sim/sh/syscall.h @@ -0,0 +1,33 @@ + +/* !!! DANGER !!! + This was copied from newlib. */ + + +#define SYS_exit 1 +#define SYS_fork 2 +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_wait4 7 +#define SYS_creat 8 +#define SYS_link 9 +#define SYS_unlink 10 +#define SYS_execv 11 +#define SYS_chdir 12 +#define SYS_mknod 14 +#define SYS_chmod 15 +#define SYS_chown 16 +#define SYS_lseek 19 +#define SYS_getpid 20 +#define SYS_isatty 21 +#define SYS_fstat 22 +#define SYS_time 23 +#define SYS_ARG 24 +#define SYS_stat 38 +#define SYS_pipe 42 +#define SYS_execve 59 +#define SYS_utime 201 /* not really a system call */ +#define SYS_wait 202 /* nor is this */ + +