From nobody Tue Dec 2 02:32:05 2025 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1107A2F8BE8; Wed, 19 Nov 2025 04:27:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763526460; cv=none; b=UBgmf0h7jNBR3T/Ti7BKPhPZJF0f1yhunj/GoOta2yqgOKI/EARM1TClsQaweRPdVfw3pytilV6CKvLAiENlJ04xTGhHC//bH9pn7T0kRP97gb/GfZC0EzpZuZbhkt//vWuIv81xs4T/rE4QzmcN01dU/YsiBECk8GqKIDWnbO0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763526460; c=relaxed/simple; bh=hLfuJ61oLqW2BaLcphzFXuJJWRUPwv1GeC9b/oMzyGU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=caDagrM1/rpxwBRvcU5GOkutBxrL6CVB/UGenuP7DN8EMjw4OkD8pkGSMKsj5nCbrxnS4Si30MJhC/xA1wFCSNy1UKjD4gqzFBcON2t5eGKVtB38JDSvO/GxzNWzC/ZhODBfXP3Qklm2H8iHY6wpOmVljGQUgXwxLBCF0037gGA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn Received: from loongson.cn (unknown [113.200.148.30]) by gateway (Coremail) with SMTP id _____8CxbNIyRx1p5lclAA--.15369S3; Wed, 19 Nov 2025 12:27:30 +0800 (CST) Received: from linux.localdomain (unknown [113.200.148.30]) by front1 (Coremail) with SMTP id qMiowJCxG8EsRx1pchQ4AQ--.53944S2; Wed, 19 Nov 2025 12:27:25 +0800 (CST) From: Tiezhu Yang To: Nathan Chancellor , Josh Poimboeuf , Ard Biesheuvel , Huacai Chen Cc: linux-kbuild@vger.kernel.org, linux-efi@vger.kernel.org, loongarch@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v1] kbuild: Add KBUILD_VMLINUX_LIBS_PRELINK Date: Wed, 19 Nov 2025 12:27:08 +0800 Message-ID: <20251119042708.27658-1-yangtiezhu@loongson.cn> X-Mailer: git-send-email 2.42.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qMiowJCxG8EsRx1pchQ4AQ--.53944S2 X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBj93XoW7tr1fWr1rGry8GFWxGFyrKrX_yoW8Zr1rpa 90kw42939rX3yvq397CrW0qw45tFZ8ZrWrWFWDJan8CryDXr4I9rZ2kr43AryDuFyDAF45 WF1xAFyakFyDu3gCm3ZEXasCq-sJn29KB7ZKAUJUUUUr529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUBFb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6r4UJVWxJr1ln4kS14v26r1Y6r17M2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12 xvs2x26I8E6xACxx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1Y 6r17McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64 vIr41lc7CjxVAaw2AFwI0_JF0_Jw1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_ Jr0_Gr1l4IxYO2xFxVAFwI0_Jrv_JF1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8Gjc xK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0 cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8V AvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E 14v26r1j6r4UYxBIdaVFxhVjvjDU0xZFpf9x07jOa93UUUUU= Content-Type: text/plain; charset="utf-8" In order to only link libstub to the final vmlinux, it can not use the current KBUILD_VMLINUX_LIBS, just add KBUILD_VMLINUX_LIBS_PRELINK. This is preparation for later patch, no functionality change. Link: https://lore.kernel.org/lkml/pq4h7jgndnt6p45lj4kgubxjd5gidfetugcuf5rc= xzxxanzetd@6rrlpjnjsmuy/ Suggested-by: Josh Poimboeuf Signed-off-by: Tiezhu Yang --- There is a long discussion in the previous patch: https://lore.kernel.org/lkml/20250928085506.4471-1-yangtiezhu@loongson.cn/ This version is based on 6.18-rc6, split the generic parts out into a separate patch to avoid merge conflicts, the other parts will send out after the merge window. Makefile | 1 + scripts/link-vmlinux.sh | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index d763c2c75cdb..69485f47b794 100644 --- a/Makefile +++ b/Makefile @@ -1199,6 +1199,7 @@ KBUILD_VMLINUX_OBJS :=3D built-in.a $(patsubst %/, %/= lib.a, $(filter %/, $(libs-y) KBUILD_VMLINUX_LIBS :=3D $(filter-out %/, $(libs-y)) =20 export KBUILD_VMLINUX_LIBS +export KBUILD_VMLINUX_LIBS_PRELINK export KBUILD_LDS :=3D arch/$(SRCARCH)/kernel/vmlinux.lds =20 ifdef CONFIG_TRIM_UNUSED_KSYMS diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 433849ff7529..e72d3254b93f 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -61,12 +61,11 @@ vmlinux_link() shift =20 if is_enabled CONFIG_LTO_CLANG || is_enabled CONFIG_X86_KERNEL_IBT; then - # Use vmlinux.o instead of performing the slow LTO link again. objs=3Dvmlinux.o - libs=3D + libs=3D"${KBUILD_VMLINUX_LIBS_PRELINK}" else objs=3Dvmlinux.a - libs=3D"${KBUILD_VMLINUX_LIBS}" + libs=3D"${KBUILD_VMLINUX_LIBS} ${KBUILD_VMLINUX_LIBS_PRELINK}" fi =20 if is_enabled CONFIG_GENERIC_BUILTIN_DTB; then --=20 2.42.0