Browse Source

* Makefile.in: Last change was bad. Define NL_TARGET

so that targ-vals.h will be used instead of syscall.h.
	* simops.c: Use targ-vals.h instead of syscall.h.
	(OP_F020): Disable unsupported system calls.
gdb-4_18-branch
Mark Alexander 29 years ago
parent
commit
a9faef120e
  1. 7
      sim/mn10300/ChangeLog
  2. 4
      sim/mn10300/Makefile.in
  3. 52
      sim/mn10300/simops.c

7
sim/mn10300/ChangeLog

@ -1,3 +1,10 @@
Mon Feb 23 20:23:19 1998 Mark Alexander <marka@cygnus.com>
* Makefile.in: Last change was bad. Define NL_TARGET
so that targ-vals.h will be used instead of syscall.h.
* simops.c: Use targ-vals.h instead of syscall.h.
(OP_F020): Disable unsupported system calls.
Mon Feb 23 09:44:38 1998 Mark Alexander <marka@cygnus.com> Mon Feb 23 09:44:38 1998 Mark Alexander <marka@cygnus.com>
* Makefile.in: Get header files from libgloss/mn10300/sys. * Makefile.in: Get header files from libgloss/mn10300/sys.

4
sim/mn10300/Makefile.in

@ -19,9 +19,11 @@
## COMMON_PRE_CONFIG_FRAG ## COMMON_PRE_CONFIG_FRAG
SIM_OBJS = interp.o table.o simops.o sim-load.o SIM_OBJS = interp.o table.o simops.o sim-load.o
SIM_EXTRA_CFLAGS = -I$(srcdir)/../../libgloss/mn10300/sys
SIM_EXTRA_CLEAN = clean-extra SIM_EXTRA_CLEAN = clean-extra
# This selects the m32r newlib/libgloss syscall definitions.
NL_TARGET = -DNL_TARGET_mn10300
INCLUDE = mn10300_sim.h $(srcdir)/../../include/callback.h INCLUDE = mn10300_sim.h $(srcdir)/../../include/callback.h
## COMMON_POST_CONFIG_FRAG ## COMMON_POST_CONFIG_FRAG

52
sim/mn10300/simops.c

@ -7,7 +7,7 @@
#include "mn10300_sim.h" #include "mn10300_sim.h"
#include "simops.h" #include "simops.h"
#include "sim-types.h" #include "sim-types.h"
#include "sys/syscall.h" #include "targ-vals.h"
#include "bfd.h" #include "bfd.h"
#include <errno.h> #include <errno.h>
#include <sys/stat.h> #include <sys/stat.h>
@ -2899,38 +2899,42 @@ void OP_F020 (insn, extension)
switch (FUNC) switch (FUNC)
{ {
#if !defined(__GO32__) && !defined(_WIN32) #if !defined(__GO32__) && !defined(_WIN32)
case SYS_fork: #ifdef TARGET_SYS_fork
case TARGET_SYS_fork:
RETVAL = fork (); RETVAL = fork ();
break; break;
case SYS_execve: #endif
#ifdef TARGET_SYS_execve
case TARGET_SYS_execve:
RETVAL = execve (MEMPTR (PARM1), (char **) MEMPTR (PARM2), RETVAL = execve (MEMPTR (PARM1), (char **) MEMPTR (PARM2),
(char **)MEMPTR (PARM3)); (char **)MEMPTR (PARM3));
break; break;
#ifdef SYS_execv #endif
case SYS_execv: #ifdef TARGET_SYS_execv
case TARGET_SYS_execv:
RETVAL = execve (MEMPTR (PARM1), (char **) MEMPTR (PARM2), NULL); RETVAL = execve (MEMPTR (PARM1), (char **) MEMPTR (PARM2), NULL);
break; break;
#endif #endif
#endif #endif /* ! GO32 and ! WIN32 */
case SYS_read: case TARGET_SYS_read:
RETVAL = mn10300_callback->read (mn10300_callback, PARM1, RETVAL = mn10300_callback->read (mn10300_callback, PARM1,
MEMPTR (PARM2), PARM3); MEMPTR (PARM2), PARM3);
break; break;
case SYS_write: case TARGET_SYS_write:
RETVAL = (int)mn10300_callback->write (mn10300_callback, PARM1, RETVAL = (int)mn10300_callback->write (mn10300_callback, PARM1,
MEMPTR (PARM2), PARM3); MEMPTR (PARM2), PARM3);
break; break;
case SYS_lseek: case TARGET_SYS_lseek:
RETVAL = mn10300_callback->lseek (mn10300_callback, PARM1, PARM2, PARM3); RETVAL = mn10300_callback->lseek (mn10300_callback, PARM1, PARM2, PARM3);
break; break;
case SYS_close: case TARGET_SYS_close:
RETVAL = mn10300_callback->close (mn10300_callback, PARM1); RETVAL = mn10300_callback->close (mn10300_callback, PARM1);
break; break;
case SYS_open: case TARGET_SYS_open:
RETVAL = mn10300_callback->open (mn10300_callback, MEMPTR (PARM1), PARM2); RETVAL = mn10300_callback->open (mn10300_callback, MEMPTR (PARM1), PARM2);
break; break;
case SYS_exit: case TARGET_SYS_exit:
/* EXIT - caller can look in PARM1 to work out the /* EXIT - caller can look in PARM1 to work out the
reason */ reason */
if (PARM1 == 0xdead) if (PARM1 == 0xdead)
@ -2940,7 +2944,7 @@ void OP_F020 (insn, extension)
State.exited = 1; State.exited = 1;
break; break;
case SYS_stat: /* added at hmsi */ case TARGET_SYS_stat: /* added at hmsi */
/* stat system call */ /* stat system call */
{ {
struct stat host_stat; struct stat host_stat;
@ -2965,19 +2969,21 @@ void OP_F020 (insn, extension)
} }
break; break;
case SYS_chown: #ifdef TARGET_SYS_chown
case TARGET_SYS_chown:
RETVAL = chown (MEMPTR (PARM1), PARM2, PARM3); RETVAL = chown (MEMPTR (PARM1), PARM2, PARM3);
break; break;
case SYS_chmod: #endif
case TARGET_SYS_chmod:
RETVAL = chmod (MEMPTR (PARM1), PARM2); RETVAL = chmod (MEMPTR (PARM1), PARM2);
break; break;
#ifdef SYS_time #ifdef TARGET_SYS_time
case SYS_time: case TARGET_SYS_time:
RETVAL = time ((void*) MEMPTR (PARM1)); RETVAL = time ((void*) MEMPTR (PARM1));
break; break;
#endif #endif
#ifdef SYS_times #ifdef TARGET_SYS_times
case SYS_times: case TARGET_SYS_times:
{ {
struct tms tms; struct tms tms;
RETVAL = times (&tms); RETVAL = times (&tms);
@ -2988,7 +2994,8 @@ void OP_F020 (insn, extension)
break; break;
} }
#endif #endif
case SYS_gettimeofday: #ifdef TARGET_SYS_gettimeofday
case TARGET_SYS_gettimeofday:
{ {
struct timeval t; struct timeval t;
struct timezone tz; struct timezone tz;
@ -2999,8 +3006,9 @@ void OP_F020 (insn, extension)
store_word (PARM2 + 4, tz.tz_dsttime); store_word (PARM2 + 4, tz.tz_dsttime);
break; break;
} }
#ifdef SYS_utime #endif
case SYS_utime: #ifdef TARGET_SYS_utime
case TARGET_SYS_utime:
/* Cast the second argument to void *, to avoid type mismatch /* Cast the second argument to void *, to avoid type mismatch
if a prototype is present. */ if a prototype is present. */
RETVAL = utime (MEMPTR (PARM1), (void *) MEMPTR (PARM2)); RETVAL = utime (MEMPTR (PARM1), (void *) MEMPTR (PARM2));

Loading…
Cancel
Save