From patchwork Sat Jun 27 10:45:53 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiawei X-Patchwork-Id: 137933 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A50844BA23D0 for ; Sat, 27 Jun 2026 10:47:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A50844BA23D0 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from cstnet.cn (smtp21.cstnet.cn [159.226.251.21]) by sourceware.org (Postfix) with ESMTPS id ABB7C4BA2E31 for ; Sat, 27 Jun 2026 10:46:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ABB7C4BA2E31 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=iscas.ac.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ABB7C4BA2E31 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=159.226.251.21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782557188; cv=none; b=tVMhNH31G/MVaeg3k4iFVle+xTcme6e+T25IFRPcG/972gWUkft9ybahhrp2PgXJQJ0aLQSCbqKXDY0ECRxEaKUzwKLqioayvW14ih+3vVWU7QfjEyFgRPABnC+sfHWKaBZJoJipmITonaJXveWYOwPqbIRgsLPx9vnOyA8j4jU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782557188; c=relaxed/simple; bh=J3dmOH/D48xFBpL3ipavINv/XkJ0wffMg5Hsl6RA2MM=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=hJhNS+y+G0Dwvd7AounoUxTX7q6br1dIZWRAwFCoWo6VoPKTEhhxKyCI5c4l7W298dryGyclwUp/Gz/FPrr4g6tu4EOSG9+8Qm9GsXurCGOdLOWtHMJfuIN6AM7DZZFxe7umsBQe4/xznkbKcDtVE5Z6FAu+w/VY7HptoyH9nnA= ARC-Authentication-Results: i=1; sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ABB7C4BA2E31 Received: from localhost.localdomain (unknown [157.0.80.168]) by APP-01 (Coremail) with SMTP id qwCowACXMcr6qT9qMtWNAw--.25411S5; Sat, 27 Jun 2026 18:46:21 +0800 (CST) From: Jiawei To: binutils@sourceware.org Cc: nelson@rivosinc.com, jbeulich@suse.com, jeremy.bennett@embecosm.com, kito.cheng@sifive.com, mary.bennett@embecosm.com, nandni.jamnadas@embecosm.com, charlie.keaney@embecosm.com, hau.hsu@sifive.com, jerry.zhangjian@sifive.com, sinan.lin@linux.alibaba.com, Jiawei Subject: [RFC PATCH 3/5] ld: Add RISC-V --relax-zcmt option Date: Sat, 27 Jun 2026 18:45:53 +0800 Message-ID: <20260627104555.331493-4-jiawei@iscas.ac.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260627104555.331493-1-jiawei@iscas.ac.cn> References: <20260627104555.331493-1-jiawei@iscas.ac.cn> MIME-Version: 1.0 X-CM-TRANSID: qwCowACXMcr6qT9qMtWNAw--.25411S5 X-Coremail-Antispam: 1UD129KBjvJXoW3WF43tr4xXF15XrW7WryfJFb_yoW7CF17pr 95W39ak3WrJrn7Jw17Aw409Fn5Cws3uF4rGr43Gw40ga9xZF1vqayYya47ua4kXrW8ur43 Wa42qr1UuFWfZrUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUQa14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UM2 8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x vE14v26r1j6r18McIj6xkF7I0En7xvr7AKxVWUJVW8JwAv7VC2z280aVAFwI0_Jr0_Gr1l Ox8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErc IFxwACI402YVCY1x02628vn2kIc2xKxwCY1x0262kKe7AKxVWUtVW8ZwCF04k20xvY0x0E wIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E74 80Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij64vIr41lIxAIcVC0 I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF04 k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUqoGQUUUUU= X-Originating-IP: [157.0.80.168] X-CM-SenderInfo: 5mld4v3l6l2u1dvotugofq/1tbiBwYLAGo-mHsfOAACsZ X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org Expose Zcmt table-jump relaxation as an explicit opt-in RISC-V linker option, and document the non-position-independent executable links and JVT CSR requirement, and keep the optimization disabled by default. ld/ChangeLog: * NEWS: Add --relax-zcmt entry. * emultempl/riscvelf.em: Handle --relax-zcmt option. * gen-doc.texi: Enable RISC-V docs. * ld.texi: Document --relax-zcmt. * ldlex.h (enum option_values): Add RELAX_ZCMT options. --- ld/NEWS | 3 +++ ld/emultempl/riscvelf.em | 17 +++++++++++++++-- ld/gen-doc.texi | 2 +- ld/ld.texi | 35 +++++++++++++++++++++++++++++++++++ ld/ldlex.h | 2 ++ 5 files changed, 56 insertions(+), 3 deletions(-) diff --git a/ld/NEWS b/ld/NEWS index 2de87ae227c..774eaf2c457 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -2,6 +2,9 @@ Changes in 2.47: +* Add the RISC-V --relax-zcmt option for opt-in Zcmt table-jump relaxation + in non-position-independent executable links. + * Add a linker optimization level of zero. Using "-O 0" on the linker command line will stop it from combining the contents of mergeable sections. This can significantly speed up the link process at the cost of producing larger diff --git a/ld/emultempl/riscvelf.em b/ld/emultempl/riscvelf.em index 814109355d9..67c9c23f289 100644 --- a/ld/emultempl/riscvelf.em +++ b/ld/emultempl/riscvelf.em @@ -26,7 +26,8 @@ fragment <