From 15543290129fde8b89b71f6e6494b88ca833c59c Mon Sep 17 00:00:00 2001 From: Tsukasa OI Date: Mon, 26 Sep 2022 11:13:51 +0000 Subject: [PATCH] RISC-V: Fix T-Head immediate types on printing This commit fixes two minor typing-related issues for T-Head immediate operands. 1. A signed type must be specified when printing with %i. 2. unsigned/signed int is not portable enough for max 32-bit immediates. Instead, we should use unsigned/signed long. The format string is changed accordingly. opcodes/ChangeLog: * riscv-dis.c (print_insn_args): Fix T-Head immediate types on printing. --- opcodes/riscv-dis.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c index 50e634ebfda..9d733565549 100644 --- a/opcodes/riscv-dis.c +++ b/opcodes/riscv-dis.c @@ -597,11 +597,11 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info oparg--; if (!sign) - print (info->stream, dis_style_immediate, "%u", - (unsigned)EXTRACT_U_IMM (n, s, l)); + print (info->stream, dis_style_immediate, "%lu", + (unsigned long)EXTRACT_U_IMM (n, s, l)); else - print (info->stream, dis_style_immediate, "%i", - (unsigned)EXTRACT_S_IMM (n, s, l)); + print (info->stream, dis_style_immediate, "%li", + (signed long)EXTRACT_S_IMM (n, s, l)); break; default: goto undefined_modifier; -- 2.30.2