summaryrefslogtreecommitdiff
path: root/sim/mips
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
commited74c67ca7d5f1526f7a233a2a4b9b5503dc37ef (patch)
tree4f60efd27493157fff9095698f7d932388aa1667 /sim/mips
parent12b510cab546e7f909b87f5a7550da51e3c9db39 (diff)
downloadgdb-ed74c67ca7d5f1526f7a233a2a4b9b5503dc37ef.tar.gz
* interp.c (sim_open): Disable chunk of code that wrote code in
vector table entries.
Diffstat (limited to 'sim/mips')
-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 b7b47312d63..ad49fccd6fb 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 5bd61a8a824..d56c2ef56ce 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
}
}