Mon Sep 18 18:42:27 1995 steve chamberlain <sac@slash.cygnus.com>

* interp.c (trap): Remove useless code.

Fri Sep 15 19:30:05 1995  steve chamberlain  <sac@slash.cygnus.com>

	* syscall.h: Copy from newlib.
This commit is contained in:
Steve Chamberlain 1995-09-19 01:47:35 +00:00
parent b3625fe62c
commit e9aea0b33e
4 changed files with 49 additions and 36 deletions

View File

@ -33,6 +33,7 @@ interp.c
gencode.c
run.1
run.c
syscall.h
Things-to-lose:

View File

@ -1,3 +1,11 @@
Mon Sep 18 18:42:27 1995 steve chamberlain <sac@slash.cygnus.com>
* interp.c (trap): Remove useless code.
Fri Sep 15 19:30:05 1995 steve chamberlain <sac@slash.cygnus.com>
* syscall.h: Copy from newlib.
start-sanitize-sh3e
Thu Sep 14 19:32:59 1995 Stu Grossman (grossman@cygnus.com)

View File

@ -22,23 +22,18 @@
#include "sysdep.h"
#include "bfd.h"
#include "remote-sim.h"
#include <sys/syscall.h>
/* This file is local - if newlib changes, then so should this. */
#include "syscall.h"
/* start-sanitize-sh3e */
#include <math.h>
/* 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;

33
sim/sh/syscall.h Normal file
View File

@ -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 */