From b882a66bfcf4a0f0315dc412430a54c53c744c2d Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 18 Apr 2002 19:47:14 +0000 Subject: * interp.c (sim_open): Disable chunk of code that wrote code in vector table entries. --- sim/mips/ChangeLog | 5 +++++ sim/mips/interp.c | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'sim') 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 + + * 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 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 } } -- cgit v1.1