diff options
Diffstat (limited to 'sim/sh')
-rw-r--r-- | sim/sh/ChangeLog | 8 | ||||
-rw-r--r-- | sim/sh/gencode.c | 4 | ||||
-rw-r--r-- | sim/sh/interp.c | 6 |
3 files changed, 13 insertions, 5 deletions
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog index 62edf59..9fbefe3 100644 --- a/sim/sh/ChangeLog +++ b/sim/sh/ChangeLog @@ -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. diff --git a/sim/sh/gencode.c b/sim/sh/gencode.c index 9769d73..3d998f0 100644 --- a/sim/sh/gencode.c +++ b/sim/sh/gencode.c @@ -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; diff --git a/sim/sh/interp.c b/sim/sh/interp.c index 9810678..b7c7779 100644 --- a/sim/sh/interp.c +++ b/sim/sh/interp.c @@ -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;*/ |