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~

Reply via email to