2004-02-12 Michael Snyder <msnyder@redhat.com>
authorMichael Snyder <msnyder@vmware.com>
Thu, 12 Feb 2004 19:32:12 +0000 (19:32 +0000)
committerMichael Snyder <msnyder@vmware.com>
Thu, 12 Feb 2004 19:32:12 +0000 (19:32 +0000)
* gencode.c (table): Change from char to short.
(dumptable): Change generated table from char to short.
* interp.c (sh_jump_table, sh_dsp_table, ppi_table): char to short.
(init_dsp): Compute size of sh_dsp_table.
(sim_resume): Change jump_table from char to short.

sim/sh/ChangeLog
sim/sh/gencode.c
sim/sh/interp.c

index 62edf59bfcdf8de454dacd87e0bfd8071ae6d326..9fbefe3cd4555b1b66cd6d8130171f925a3786ca 100644 (file)
@@ -1,3 +1,11 @@
+2004-02-12  Michael Snyder  <msnyder@redhat.com>
+
+       * gencode.c (table): Change from char to short.
+       (dumptable): Change generated table from char to short.
+       * interp.c (sh_jump_table, sh_dsp_table, ppi_table): char to short.
+       (init_dsp): Compute size of sh_dsp_table.
+       (sim_resume): Change jump_table from char to short.
+
 2004-01-27  Michael Snyder  <msnyder@redhat.com>
 
        * gencode.c: (op tab): Some refs and defs fixes.
index 9769d7391c00f14eeb5e4a73d71b86e1e8c8161b..3d998f010f56bb38bd6ed9f16f0b4a2703f1a4ef 100644 (file)
@@ -2265,7 +2265,7 @@ gengastab ()
     }
 }
 
-static unsigned char table[1 << 16];
+static unsigned short table[1 << 16];
 
 /* Take an opcode, expand all varying fields in it out and fill all the
    right entries in 'table' with the opcode index.  */
@@ -2407,7 +2407,7 @@ dumptable (name, size, start)
 
   int i = start;
 
-  printf ("unsigned char %s[%d]={\n", name, size);
+  printf ("unsigned short %s[%d]={\n", name, size);
   while (i < start + size)
     {
       int j = 0;
index 981067804cd5c9e65ada75d7d0a1cf7da5fa7ffe..b7c77799447291a092e442d7f5a42d1ff6e3e364 100644 (file)
@@ -53,7 +53,7 @@
 #define SIGTRAP 5
 #endif
 
-extern unsigned char sh_jump_table[], sh_dsp_table[0x1000], ppi_table[];
+extern unsigned short sh_jump_table[], sh_dsp_table[0x1000], ppi_table[];
 
 int sim_write (SIM_DESC sd, SIM_ADDR addr, unsigned char *buffer, int size);
 
@@ -1646,7 +1646,7 @@ init_dsp (abfd)
     {
       int i, tmp;
 
-      for (i = sizeof sh_dsp_table - 1; i >= 0; i--)
+      for (i = (sizeof sh_dsp_table / sizeof sh_dsp_table[0]) - 1; i >= 0; i--)
        {
          tmp = sh_jump_table[0xf000 + i];
          sh_jump_table[0xf000 + i] = sh_dsp_table[i];
@@ -1752,7 +1752,7 @@ sim_resume (sd, step, siggnal)
   void (*prev) ();
   void (*prev_fpe) ();
 
-  register unsigned char *jump_table = sh_jump_table;
+  register unsigned short *jump_table = sh_jump_table;
 
   register int *R = &(saved_state.asregs.regs[0]);
   /*register int T;*/