From: Tsukasa OI Date: Wed, 13 Jul 2022 13:33:07 +0000 (+0900) Subject: RISC-V: Fix printf argument types corresponding %x X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2cfc7c876d57171dbe8a16e90218be9c1f6e1f19;p=binutils-gdb.git RISC-V: Fix printf argument types corresponding %x "%x" format specifier requires unsigned type, not int. This commit fixes this issue on the RISC-V disassembler. opcodes/ChangeLog: * riscv-dis.c (print_insn_args): Fix printf argument types where the format specifier is "%x". --- diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c index 0070b2323c0..ae35790d43b 100644 --- a/opcodes/riscv-dis.c +++ b/opcodes/riscv-dis.c @@ -292,15 +292,15 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info break; case 'u': print (info->stream, dis_style_immediate, "0x%x", - (int)(EXTRACT_CITYPE_IMM (l) & (RISCV_BIGIMM_REACH-1))); + (unsigned)(EXTRACT_CITYPE_IMM (l) & (RISCV_BIGIMM_REACH-1))); break; case '>': print (info->stream, dis_style_immediate, "0x%x", - (int)EXTRACT_CITYPE_IMM (l) & 0x3f); + (unsigned)EXTRACT_CITYPE_IMM (l) & 0x3f); break; case '<': print (info->stream, dis_style_immediate, "0x%x", - (int)EXTRACT_CITYPE_IMM (l) & 0x1f); + (unsigned)EXTRACT_CITYPE_IMM (l) & 0x1f); break; case 'T': /* Floating-point RS2. */ print (info->stream, dis_style_register, "%s", @@ -481,7 +481,7 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info case 'y': print (info->stream, dis_style_immediate, "0x%x", - (int)EXTRACT_OPERAND (BS, l)); + (unsigned)EXTRACT_OPERAND (BS, l)); break; case 'z': @@ -490,12 +490,12 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info case '>': print (info->stream, dis_style_immediate, "0x%x", - (int)EXTRACT_OPERAND (SHAMT, l)); + (unsigned)EXTRACT_OPERAND (SHAMT, l)); break; case '<': print (info->stream, dis_style_immediate, "0x%x", - (int)EXTRACT_OPERAND (SHAMTW, l)); + (unsigned)EXTRACT_OPERAND (SHAMTW, l)); break; case 'S': @@ -556,7 +556,7 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info case 'Y': print (info->stream, dis_style_immediate, "0x%x", - (int) EXTRACT_OPERAND (RNUM, l)); + (unsigned) EXTRACT_OPERAND (RNUM, l)); break; case 'Z':