aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/sh/ChangeLog6
-rw-r--r--sim/sh/interp.c15
2 files changed, 19 insertions, 2 deletions
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog
index 0975e9e..afdbe17 100644
--- a/sim/sh/ChangeLog
+++ b/sim/sh/ChangeLog
@@ -1,3 +1,9 @@
+Fri Apr 18 18:57:04 1997 Stu Grossman (grossman@critters.cygnus.com)
+
+ * interp.c: Include float.h and define SIGTRAP if _WIN32.
+ WIN32 -> _WIN32.
+ * (trap): Do do SYS_chown for _WIN32.
+
Fri Apr 18 13:33:09 1997 Doug Evans <dje@canuck.cygnus.com>
* interp.c (sim_resume): Fix argument to poll_quit.
diff --git a/sim/sh/interp.c b/sim/sh/interp.c
index 5a68dc9..97c95dc 100644
--- a/sim/sh/interp.c
+++ b/sim/sh/interp.c
@@ -35,6 +35,11 @@
#include <math.h>
+#ifdef _WIN32
+#include <float.h> /* Needed for _isnan() */
+#define isnan _isnan
+#endif
+
#ifndef SIGBUS
#define SIGBUS SIGSEGV
#endif
@@ -43,6 +48,10 @@
#define SIGQUIT SIGTERM
#endif
+#ifndef SIGTRAP
+#define SIGTRAP 5
+#endif
+
#define O_RECOMPILE 85
#define DEFINE_TABLE
#define DISASSEMBLER_TABLE
@@ -341,7 +350,7 @@ int empty[16];
#define TL(x) if ((x) == prevlock) stalls++;
#define TB(x,y) if ((x) == prevlock || (y)==prevlock) stalls++;
-#if defined(__GO32__) || defined(WIN32)
+#if defined(__GO32__) || defined(_WIN32)
int sim_memory_size = 19;
#else
int sim_memory_size = 24;
@@ -479,7 +488,7 @@ trap (i, regs, memory, maskl, maskw, little_endian)
switch (regs[4])
{
-#if !defined(__GO32__) && !defined(WIN32)
+#if !defined(__GO32__) && !defined(_WIN32)
case SYS_fork:
regs[0] = fork ();
break;
@@ -578,9 +587,11 @@ trap (i, regs, memory, maskl, maskw, little_endian)
}
break;
+#ifndef _WIN32
case SYS_chown:
regs[0] = chown (ptr (regs[5]), regs[6], regs[7]);
break;
+#endif /* _WIN32 */
case SYS_chmod:
regs[0] = chmod (ptr (regs[5]), regs[6]);
break;