Skip to contentSkip to conversation

FAILED: patch "[PATCH] MIPS: Only fiddle with CHECKFLAGS if `need-compiler'" failed to apply to 6.1-stable tree

PATCH [email protected] 1 participant 1 message Sep 16, 2023

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x 4fe4a6374c4db9ae2b849b61e84b58685dca565a
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023091613-tracing-voucher-3d42@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..

Possible dependencies:

4fe4a6374c4d ("MIPS: Only fiddle with CHECKFLAGS if `need-compiler'") 08f6554ff90e ("mips: Include KBUILD_CPPFLAGS in CHECKFLAGS invocation") d42f0c6ad502 ("MIPS: Use "grep -E" instead of "egrep"")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 4fe4a6374c4db9ae2b849b61e84b58685dca565a Mon Sep 17 00:00:00 2001
From: "Maciej W. Rozycki" <[email protected]>
Date: Tue, 18 Jul 2023 15:37:23 +0100
Subject: [PATCH] MIPS: Only fiddle with CHECKFLAGS if `need-compiler'

We have originally guarded fiddling with CHECKFLAGS in our arch Makefile by checking for the CONFIG_MIPS variable, not set for targets such as distclean', etc. that neither include .config' nor use the compiler.

Starting from commit 805b2e1d427a ("kbuild: include Makefile.compiler only when compiler is needed") we have had a generic `need-compiler' variable explicitly telling us if the compiler will be used and thus its capabilities need to be checked and expressed in the form of compilation flags. If this variable is not set, then make' functions such as cc-option' are undefined, causing all kinds of weirdness to happen if we expect specific results to be returned, most recently:

cc1: error: '-mloongson-mmi' must be used with '-mhard-float'

messages with configurations such as fuloong2e_defconfig' and the modules_install' target, which does include `.config' and yet does not use the compiler.

Replace the check for CONFIG_MIPS with one for `need-compiler' instead, so as to prevent the compiler from being ever called for CHECKFLAGS when not needed.

Fixes 805b2e1d427a ("kbuild: include Makefile.compiler only when compiler is needed")
Cc [email protected] # v5.13+
arch/mips/Makefile +1 -1
index 69c18074d817..d624b87c150d 100644
@@ -341,7 +341,7 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
 
 KBUILD_LDFLAGS		+= -m $(ld-emul)
 
-ifdef CONFIG_MIPS
+ifdef need-compiler
 CHECKFLAGS += $(shell $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \
 	grep -E -vw '__GNUC_(MINOR_|PATCHLEVEL_)?_' | \
 	sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/" -e 's/\$$/&&/g')