I build gdb on arm-linux and ran into:
...
CC riscv-dis.lo
opcodes/riscv-dis.c: In function ‘print_insn_args’:
opcodes/riscv-dis.c:743:29: error: format ‘%lu’ expects argument of type \
‘long unsigned int’, but argument 4 has type ‘insn_t’ \
{aka ‘long long unsigned int’} [-Werror=format=]
743 | "%lu", EXTRACT_ZCMT_INDEX (l));
| ~~^
| |
| long unsigned int
| %llu
...
Fix this by printing the insn_t value, which is a uint64_t, using PRIu64.
Tested by finishing the build.
case 'i':
case 'I':
print (info->stream, dis_style_address_offset,
- "%lu", EXTRACT_ZCMT_INDEX (l));
+ "%" PRIu64, EXTRACT_ZCMT_INDEX (l));
break;
default:
goto undefined_modifier;