From: Greg Kroah-Hartman Date: Sun, 24 Aug 2025 05:46:22 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v5.4.297~46 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ce20e32acb3f357ac85037bdbd44c3d24f4808b0;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: kbuild-userprogs-use-correct-linker-when-mixing-clang-and-gnu-ld.patch --- diff --git a/queue-5.10/kbuild-userprogs-use-correct-linker-when-mixing-clang-and-gnu-ld.patch b/queue-5.10/kbuild-userprogs-use-correct-linker-when-mixing-clang-and-gnu-ld.patch new file mode 100644 index 0000000000..e1cac6ec48 --- /dev/null +++ b/queue-5.10/kbuild-userprogs-use-correct-linker-when-mixing-clang-and-gnu-ld.patch @@ -0,0 +1,44 @@ +From stable+bounces-172219-greg=kroah.com@vger.kernel.org Thu Aug 21 20:31:32 2025 +From: Nathan Chancellor +Date: Thu, 21 Aug 2025 11:31:06 -0700 +Subject: kbuild: userprogs: use correct linker when mixing clang and GNU ld +To: gregkh@linuxfoundation.org, sashal@kernel.org +Cc: stable@vger.kernel.org, nathan@kernel.org, thomas.weissschuh@linutronix.de +Message-ID: <20250821183106.1268616-1-nathan@kernel.org> + +From: Thomas Weißschuh + +commit 936599ca514973d44a766b7376c6bbdc96b6a8cc upstream. + +The userprogs infrastructure does not expect clang being used with GNU ld +and in that case uses /usr/bin/ld for linking, not the configured $(LD). +This fallback is problematic as it will break when cross-compiling. +Mixing clang and GNU ld is used for example when building for SPARC64, +as ld.lld is not sufficient; see Documentation/kbuild/llvm.rst. + +Relax the check around --ld-path so it gets used for all linkers. + +Fixes: dfc1b168a8c4 ("kbuild: userprogs: use correct lld when linking through clang") +Cc: stable@vger.kernel.org +Signed-off-by: Thomas Weißschuh +Reviewed-by: Nathan Chancellor +Signed-off-by: Masahiro Yamada +[nathan: Work around wrapping '--ld-path' in cc-option in older stable + branches due to older minimum LLVM version] +Signed-off-by: Nathan Chancellor +Signed-off-by: Greg Kroah-Hartman +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/Makefile ++++ b/Makefile +@@ -1037,7 +1037,7 @@ KBUILD_USERCFLAGS += $(filter -m32 -m64 + KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS)) + + # userspace programs are linked via the compiler, use the correct linker +-ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_LD_IS_LLD),yy) ++ifdef CONFIG_CC_IS_CLANG + KBUILD_USERLDFLAGS += $(call cc-option, --ld-path=$(LD)) + endif + diff --git a/queue-5.10/series b/queue-5.10/series index 9d6cbb9103..b82d3a209c 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -412,3 +412,4 @@ usb-storage-add-unusual-devs-entry-for-novatek-ntk96550-based-camera.patch usb-storage-realtek_cr-use-correct-byte-order-for-bcs-residue.patch usb-storage-ignore-driver-cd-mode-for-realtek-multi-mode-wi-fi-dongles.patch usb-dwc3-ignore-late-xfernotready-event-to-prevent-halt-timeout.patch +kbuild-userprogs-use-correct-linker-when-mixing-clang-and-gnu-ld.patch