Disassembler is not expected to alter the CPU config. Besides, all other RISC-V methods takes a const RISCVCPUConfig. Make the @cfg field of the rv_decode structure const, passing a const pointer to disasm_inst().
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- disas/riscv.h | 2 +- disas/riscv.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/disas/riscv.h b/disas/riscv.h index d211700cb2f..379e642ec84 100644 --- a/disas/riscv.h +++ b/disas/riscv.h @@ -189,7 +189,7 @@ typedef struct { } rv_opcode_data; typedef struct { - RISCVCPUConfig *cfg; + const RISCVCPUConfig *cfg; uint64_t pc; uint64_t inst; const rv_opcode_data *opcode_data; diff --git a/disas/riscv.c b/disas/riscv.c index 85cd2a9c2ae..6f2667482dc 100644 --- a/disas/riscv.c +++ b/disas/riscv.c @@ -5409,7 +5409,7 @@ static void decode_inst_decompress(rv_decode *dec, rv_isa isa) /* disassemble instruction */ static GString *disasm_inst(rv_isa isa, uint64_t pc, rv_inst inst, - RISCVCPUConfig *cfg) + const RISCVCPUConfig *cfg) { rv_decode dec = { 0 }; dec.pc = pc; @@ -5509,7 +5509,8 @@ print_insn_riscv(bfd_vma memaddr, struct disassemble_info *info, rv_isa isa) } g_autoptr(GString) str = - disasm_inst(isa, memaddr, inst, (RISCVCPUConfig *)info->target_info); + disasm_inst(isa, memaddr, inst, + (const RISCVCPUConfig *)info->target_info); (*info->fprintf_func)(info->stream, "%s", str->str); return len; -- 2.52.0
