]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Mar 2023 13:32:55 +0000 (14:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Mar 2023 13:32:55 +0000 (14:32 +0100)
added patches:
kbuild-port-silent-mode-detection-to-future-gnu-make.patch

queue-5.15/kbuild-port-silent-mode-detection-to-future-gnu-make.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/kbuild-port-silent-mode-detection-to-future-gnu-make.patch b/queue-5.15/kbuild-port-silent-mode-detection-to-future-gnu-make.patch
new file mode 100644 (file)
index 0000000..0d6b246
--- /dev/null
@@ -0,0 +1,73 @@
+From 4bf73588165ba7d32131a043775557a54b6e1db5 Mon Sep 17 00:00:00 2001
+From: Dmitry Goncharov <dgoncharov@users.sf.net>
+Date: Mon, 5 Dec 2022 16:48:19 -0500
+Subject: kbuild: Port silent mode detection to future gnu make.
+
+From: Dmitry Goncharov <dgoncharov@users.sf.net>
+
+commit 4bf73588165ba7d32131a043775557a54b6e1db5 upstream.
+
+Port silent mode detection to the future (post make-4.4) versions of gnu make.
+
+Makefile contains the following piece of make code to detect if option -s is
+specified on the command line.
+
+ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),)
+
+This code is executed by make at parse time and assumes that MAKEFLAGS
+does not contain command line variable definitions.
+Currently if the user defines a=s on the command line, then at build only
+time MAKEFLAGS contains " -- a=s".
+However, starting with commit dc2d963989b96161472b2cd38cef5d1f4851ea34
+MAKEFLAGS contains command line definitions at both parse time and
+build time.
+
+This '-s' detection code then confuses a command line variable
+definition which contains letter 's' with option -s.
+
+$ # old make
+$ make net/wireless/ocb.o a=s
+  CALL    scripts/checksyscalls.sh
+  DESCEND objtool
+$ # this a new make which defines makeflags at parse time
+$ ~/src/gmake/make/l64/make net/wireless/ocb.o a=s
+$
+
+We can see here that the letter 's' from 'a=s' was confused with -s.
+
+This patch checks for presence of -s using a method recommended by the
+make manual here
+https://www.gnu.org/software/make/manual/make.html#Testing-Flags.
+
+Link: https://lists.gnu.org/archive/html/bug-make/2022-11/msg00190.html
+Reported-by: Jan Palus <jpalus+gnu@fastmail.com>
+Signed-off-by: Dmitry Goncharov <dgoncharov@users.sf.net>
+Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Makefile |   13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -93,10 +93,17 @@ endif
+ # If the user is running make -s (silent mode), suppress echoing of
+ # commands
++# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS.
+-ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),)
+-  quiet=silent_
+-  KBUILD_VERBOSE = 0
++ifeq ($(filter 3.%,$(MAKE_VERSION)),)
++silence:=$(findstring s,$(firstword -$(MAKEFLAGS)))
++else
++silence:=$(findstring s,$(filter-out --%,$(MAKEFLAGS)))
++endif
++
++ifeq ($(silence),s)
++quiet=silent_
++KBUILD_VERBOSE = 0
+ endif
+ export quiet Q KBUILD_VERBOSE
index 94cc4b5d9f46164e67952dd2cf48a790031bcf65..5db16afb45a76b1bf4a6e60ec477fee3742f799f 100644 (file)
@@ -568,3 +568,4 @@ media-uvcvideo-fix-memory-leak-of-object-map-on-error-exit-path.patch
 iommu-vt-d-fix-an-unbalanced-rcu_read_lock-rcu_read_unlock.patch
 arm64-dts-qcom-ipq8074-fix-gen2-pcie-qmp-phy.patch
 wifi-ath9k-use-proper-statements-in-conditionals.patch
+kbuild-port-silent-mode-detection-to-future-gnu-make.patch