lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 18 Jul 2023 15:37:23 +0100 (BST)
From:   "Maciej W. Rozycki" <macro@...am.me.uk>
To:     Thomas Bogendoerfer <tsbogend@...ha.franken.de>
cc:     Jan-Benedict Glaw <jbglaw@...-owl.de>,
        Guillaume Tucker <guillaume.tucker@...labora.com>,
        Huacai Chen <chenhuacai@...ngson.cn>,
        linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 2/3] 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.

Reported-by: Guillaume Tucker <guillaume.tucker@...labora.com>
Closes: https://lore.kernel.org/r/85031c0c-d981-031e-8a50-bc4fad2ddcd8@collabora.com/
Signed-off-by: Maciej W. Rozycki <macro@...am.me.uk>
Fixes: 805b2e1d427a ("kbuild: include Makefile.compiler only when compiler is needed")
Cc: stable@...r.kernel.org # v5.13+
---
 arch/mips/Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

linux-mips-checkflags-need-compiler.diff
Index: linux-macro/arch/mips/Makefile
===================================================================
--- linux-macro.orig/arch/mips/Makefile
+++ linux-macro/arch/mips/Makefile
@@ -341,7 +341,7 @@ KBUILD_CFLAGS += -fno-asynchronous-unwin
 
 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')

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ