aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-12-30 01:49:53 -0500
committerMike Frysinger <vapier@gentoo.org>2015-12-30 03:30:23 -0500
commitc78dff22918f29b3970729f32f70060b70e75678 (patch)
treefbe208a7f4a189ab5f24f10ddd758f141d969c75
parentf2089a69c164c789bcfd06b5eb9e0878f5520e13 (diff)
downloadgdb-c78dff22918f29b3970729f32f70060b70e75678.zip
gdb-c78dff22918f29b3970729f32f70060b70e75678.tar.gz
gdb-c78dff22918f29b3970729f32f70060b70e75678.tar.bz2
sim: h8300: move unused/buggy lregs array
This array isn't used anywhere, and the init phase actually corrupts some memory because the array has 18 elements but tries to set the 19th (ZERO) position.
-rw-r--r--sim/h8300/ChangeLog5
-rw-r--r--sim/h8300/compile.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog
index b4ad754..b293b29 100644
--- a/sim/h8300/ChangeLog
+++ b/sim/h8300/ChangeLog
@@ -1,5 +1,10 @@
2015-12-30 Mike Frysinger <vapier@gentoo.org>
+ * compile.c (lreg): Delete.
+ (init_pointers): Delete lreg assignments.
+
+2015-12-30 Mike Frysinger <vapier@gentoo.org>
+
* inst.h: Delete file.
* Makefile.in (compile.o): Delete rule.
diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c
index bc91725..beb2ab6 100644
--- a/sim/h8300/compile.c
+++ b/sim/h8300/compile.c
@@ -1251,7 +1251,6 @@ compile (SIM_DESC sd, int pc)
static unsigned char *breg[32];
static unsigned short *wreg[16];
-static unsigned int *lreg[18];
#define GET_B_REG(X) *(breg[X])
#define SET_B_REG(X, Y) (*(breg[X])) = (Y)
@@ -1828,11 +1827,8 @@ init_pointers (SIM_DESC sd)
sim_io_printf (sd, "init_pointers: internal error.\n");
h8_set_reg (sd, i, 0);
- lreg[i] = h8_get_reg_buf (sd) + i;
}
- /* Note: sim uses pseudo-register ZERO as a zero register. */
- lreg[ZERO_REGNUM] = h8_get_reg_buf (sd) + ZERO_REGNUM;
init_pointers_needed = 0;
/* Initialize the seg registers. */