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

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

diff --git a/queue-6.1/kbuild-port-silent-mode-detection-to-future-gnu-make.patch b/queue-6.1/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 b6c5171737bdf089476910c552bd57d9faf606f5..752568ac0018347edec50b00552042f8baa00ca1 100644 (file)
@@ -885,3 +885,4 @@ brd-use-radix_tree_maybe_preload-instead-of-radix_tree_preload.patch
 sbitmap-advance-the-queue-index-before-waking-up-a-queue.patch
 wait-return-number-of-exclusive-waiters-awaken.patch
 sbitmap-try-each-queue-to-wake-up-at-least-one-waiter.patch
+kbuild-port-silent-mode-detection-to-future-gnu-make.patch