Use UINT64_C (0) instead of INT64_C (0) to make sure the calculation
is done on unsigned values. Otherwise the gcc undefined sanitizer will
warn:
libcpu/riscv_disasm.c:457:57: runtime error: left shift of negative value -1
Signed-off-by: Mark Wielaard <mark@klomp.org>
+2019-09-07 Mark Wielaard <mark@klomp.org>
+
+ * riscv_disasm.c (riscv_disasm): Use UINT64_C to make calculation
+ unsigned.
+
2019-07-05 Omar Sandoval <osandov@fb.com>
* Makefile.am: Combine libcpu_{i386,x86_64,bpf}.a into libcpu.a.
mne = "fsd";
break;
case 16:
- opaddr = (((INT64_C (0) - ((first >> 12) & 0x1)) << 11)
+ opaddr = (((UINT64_C (0) - ((first >> 12) & 0x1)) << 11)
| ((first << 2) & 0x400)
| ((first >> 1) & 0x300)
| ((first << 1) & 0x80)