sim: h8300: move unused/buggy lregs array
authorMike Frysinger <vapier@gentoo.org>
Wed, 30 Dec 2015 06:49:53 +0000 (01:49 -0500)
committerMike Frysinger <vapier@gentoo.org>
Wed, 30 Dec 2015 08:30:23 +0000 (03:30 -0500)
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.

sim/h8300/ChangeLog
sim/h8300/compile.c

index b4ad754..b293b29 100644 (file)
@@ -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.
 
index bc91725..beb2ab6 100644 (file)
@@ -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.  */