opcodes: fix Werror=format build breaker in opcodes/riscv-dis.c

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.
This commit is contained in:
Tom de Vries
2024-11-24 09:21:28 +01:00
parent 3198eb6627
commit 6206516653

View File

@@ -740,7 +740,7 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info
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;