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 b4ad754adfa6bcbf47db38db38c5ede669cdd662..b293b29031cb7a6c8b1f5ebdc7c90feefabe0b7e 100644 (file)
@@ -1,3 +1,8 @@
+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.
index bc91725b699a164929e69b32a9787bf6e26d7b5a..beb2ab6b808b35b9e69b7d2f84d0b1e259fb7ee7 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.  */