[PATCH v2 5/6] RISC-V: Fix T-Head immediate types on printing

Tsukasa OI research_trasio@irq.a4lg.com
Mon Sep 26 12:26:54 GMT 2022


This commit fixes three minor typing-related issues for
T-Head immediate values.

1.  The format string %i is renamed to %d (which is more common).
2.  Signed type must be specified when printing with %d.
3.  unsigned/signed int it 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 1c75317fad1..df2a6f4e131 100644
--- a/opcodes/riscv-dis.c
+++ b/opcodes/riscv-dis.c
@@ -596,11 +596,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, "%ld",
+			   (signed long)EXTRACT_S_IMM (n, s, l));
 		  break;
 		default:
 		  goto undefined_modifier;
-- 
2.34.1



More information about the Binutils mailing list