On 10/23/18 9:37 PM, Fredrik Noring wrote: > Hi Peter, Aleksandar, > >> Hi: I get compile errors on 32-bit hosts: >> >> /home/petmay01/qemu-for-merges/disas/mips.c:615:35: error: large >> integer implicitly truncated to unsigned type [-Werror=overflow] >> #define INSN_5900 0x100000000 >> ^ >> /home/petmay01/qemu-for-merges/disas/mips.c:1200:17: note: in >> expansion of macro 'INSN_5900' >> #define EE INSN_5900 /* Emotion Engine */ >> ^ >> /home/petmay01/qemu-for-merges/disas/mips.c:2326:73: note: in >> expansion of macro 'EE' >> {"div1", "z,s,t", 0x7000001a, 0xfc00ffff, RD_s | RD_t | WR_HILO, 0, EE >> }, >> ^ >> >> (and repeats on other similar uses). >> >> This is because this line is an initializer for "struct mips_opcode", >> and the final field is "unsigned long membership", which may be only >> 32 bits wide, but you're trying to put a number in that's too big for that. > > I am sorry about that. We are out of bits. > > Option 1: Discard all disassembly parts of the series. I would prefer this > if possible -- they are not essential now in my opinion. > > Option 2: Drop all R5900 related changes for now. > > Option 3: Extend the mips_opcode::membership field.
It's trivial to extend the field to uint64_t. r~