diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index b7b47312d6..ad49fccd6f 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,8 @@ +2002-04-18 Alexandre Oliva + + * interp.c (sim_open): Disable chunk of code that wrote code in + vector table entries. + 2002-03-19 Chris Demetriou * 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 5bd61a8a82..d56c2ef56c 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 } }