ubsan: moxie: left shift of negative value

* moxie-dis.c (INST2OFFSET): Don't sign extend using shifts.
This commit is contained in:
Alan Modra 2019-12-11 08:26:58 +10:30
parent 334175b693
commit 8c9b417187
2 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2019-12-11 Alan Modra <amodra@gmail.com>
* moxie-dis.c (INST2OFFSET): Don't sign extend using shifts.
2019-12-11 Alan Modra <amodra@gmail.com>
* m68k-dis.c (COERCE32): Cast value first.

View File

@ -33,7 +33,7 @@ static void *stream;
/* Macros to extract operands from the instruction word. */
#define OP_A(i) ((i >> 4) & 0xf)
#define OP_B(i) (i & 0xf)
#define INST2OFFSET(o) ((((signed short)((o & ((1<<10)-1))<<6))>>6)<<1)
#define INST2OFFSET(o) (((((o) & 0x3ff) ^ 0x200) - 0x200) << 1)
static const char * reg_names[16] =
{ "$fp", "$sp", "$r0", "$r1", "$r2", "$r3", "$r4", "$r5",