From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sender-0.a4lg.com (mail-sender.a4lg.com [153.120.152.154]) by sourceware.org (Postfix) with ESMTPS id F11AB3834F35 for ; Sat, 27 Aug 2022 00:23:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F11AB3834F35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=irq.a4lg.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=irq.a4lg.com Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail-sender-0.a4lg.com (Postfix) with ESMTPSA id 481AB300089; Sat, 27 Aug 2022 00:23:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irq.a4lg.com; s=2017s01; t=1661559802; bh=qUFRybPCk0KMIaQlOeo8m6G5WAEx1qdDgJEnOOCfXQI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Mime-Version:Content-Transfer-Encoding; b=fA9V5Nn6ZaHr+lQlBrZbHWQgrDpMad3oQetD0D42NFqCup8++3Un7UoCHE3XOsFIg 1Ag4b/rZli7AfVFUbSc/jB/odb+qVCeYwBZynq4l3aMxs27AI3tQsoLG2YG9Gjq/Px GnvHsHOLsNSQpFwCXjs/t848jR2xymVOFoN5sR58= From: Tsukasa OI To: Tsukasa OI , "H . Peter Anvin" , Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu Cc: binutils@sourceware.org Subject: [PATCH v8 2/7] RISC-V: Fix JALR target address computation Date: Sat, 27 Aug 2022 00:22:54 +0000 Message-Id: <4ad7c1d7c1c0df544ae85e67925d3401bf05961f.1661559777.git.research_trasio@irq.a4lg.com> In-Reply-To: References: Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,KAM_MANYTO,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: H. Peter Anvin discovered that we have wrong address computation for JALR instruction (the initial bug is back in 2018). This commit will fix that based on the idea of Palmer Dabbelt. opcodes/ChangeLog: * riscv-dis.c (print_insn_args): Fix JALR address computation. --- opcodes/riscv-dis.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c index 164fd209dbd..4c03f113650 100644 --- a/opcodes/riscv-dis.c +++ b/opcodes/riscv-dis.c @@ -397,7 +397,7 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info case 'b': case 's': if ((l & MASK_JALR) == MATCH_JALR) - maybe_print_address (pd, rs1, 0, 0); + maybe_print_address (pd, rs1, EXTRACT_ITYPE_IMM (l), 0); print (info->stream, dis_style_register, "%s", riscv_gpr_names[rs1]); break; -- 2.34.1