aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2002-04-18 19:47:14 +0000
committerAlexandre Oliva <aoliva@redhat.com>2002-04-18 19:47:14 +0000
commitb882a66bfcf4a0f0315dc412430a54c53c744c2d (patch)
treec26c0ae4d25ef9cbd310fd7341e85043ffbdc62f /sim
parentf4f9705a2df3950420fb886339a70d4d0b4253ae (diff)
downloadfsf-binutils-gdb-b882a66bfcf4a0f0315dc412430a54c53c744c2d.zip
fsf-binutils-gdb-b882a66bfcf4a0f0315dc412430a54c53c744c2d.tar.gz
fsf-binutils-gdb-b882a66bfcf4a0f0315dc412430a54c53c744c2d.tar.bz2
* interp.c (sim_open): Disable chunk of code that wrote code in
vector table entries.
Diffstat (limited to 'sim')
-rw-r--r--sim/mips/ChangeLog5
-rw-r--r--sim/mips/interp.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index b7b4731..ad49fcc 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-18 Alexandre Oliva <aoliva@redhat.com>
+
+ * interp.c (sim_open): Disable chunk of code that wrote code in
+ vector table entries.
+
2002-03-19 Chris Demetriou <cgd@broadcom.com>
* cp1.c (FP_S_s, FP_D_s, FP_S_be, FP_D_be, FP_S_e, FP_D_e, FP_S_f)
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 5bd61a8..d56c2ef 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -698,10 +698,14 @@ sim_open (kind, cb, abfd, argv)
sim_write (sd, 0x80000000, (char *) halt, sizeof (halt));
sim_write (sd, 0x80000180, (char *) halt, sizeof (halt));
sim_write (sd, 0x80000200, (char *) halt, sizeof (halt));
+#if 0
+ /* This is wrong. We're not supposed to write code to the
+ vector tables, but rather pointers to code. */
/* XXX: Write here unconditionally? */
sim_write (sd, 0xBFC00200, (char *) halt, sizeof (halt));
sim_write (sd, 0xBFC00380, (char *) halt, sizeof (halt));
sim_write (sd, 0xBFC00400, (char *) halt, sizeof (halt));
+#endif
}
}