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]
Message-ID: <Y5irX4Uajdc6ngoc@dev-arch.thelio-3990X>
Date:   Tue, 13 Dec 2022 09:42:07 -0700
From:   Nathan Chancellor <nathan@...nel.org>
To:     Nicolas Schier <nicolas@...sle.eu>
Cc:     Masahiro Yamada <masahiroy@...nel.org>,
        linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
        Nick Desaulniers <ndesaulniers@...gle.com>
Subject: Re: [PATCH] kbuild: ensure Make >= 3.82 is used

On Tue, Dec 13, 2022 at 11:05:05AM +0100, Nicolas Schier wrote:
> On Tue, Dec 13, 2022 at 04:58:30AM +0100 Nicolas Schier wrote:
> > On Mon 12 Dec 2022 10:21:10 GMT, Nathan Chancellor wrote:
> > > On Sun, Dec 11, 2022 at 12:03:52PM +0900, Masahiro Yamada wrote:
> > > > Documentation/process/changes.rst notes the minimal GNU Make version,
> > > > but it is not checked anywhere.
> > > > 
> > > > We could check $(MAKE_VERSION), but another simple way is to check
> > > > $(.FEATURES) since the feature list always grows although this way
> > > > is not always possible. For example Make 4.0 through 4.2 have the
> > > > same set of $(.FEATURES).
> > > > 
> > > > Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
> > > 
> > > Reviewed-by: Nathan Chancellor <nathan@...nel.org>
> > 
> > Reviewed-by: Nicolas Schier <nicolas@...sle.eu>
> > 
> > > > ---
> > > > 
> > > > Changes in v3:
> > > >   - Check the version in a different way
> > > > 
> > > >  Makefile | 5 +++++
> > > >  1 file changed, 5 insertions(+)
> > > > 
> > > > diff --git a/Makefile b/Makefile
> > > > index 2dda1e9a717a..66dfc5751470 100644
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -11,6 +11,11 @@ NAME = Hurr durr I'ma ninja sloth
> > > >  # Comments in this file are targeted only to the developer, do not
> > > >  # expect to learn how to build the kernel reading this file.
> > > >  
> > > > +# Ensure Make >= 3.82
> > > > +ifeq ($(filter undefine,$(.FEATURES)),)
> > > > +$(error Make $(MAKE_VERSION) is too old)
> > > 
> > > Would it make sense to state what version is needed, similar to the
> > > Kconfig checks for compiler and binutils?
> > 
> > Checking against 'undefine' (introduced in make-3.82~38) is quite a 
> > nice way, I think.  Otherwise we needed something like
> > $(filter 3.82% 3.9% 4.% 5.% ..., $(MAKE_VERSION)).
> > 
> 
> Nathan, sorry, I somehow I read your question completely wrong.  I would also
> appreciate if the minimum make version would be shown in the error message.

No worries, I have done that many a time :) I see Masahiro updated this
to v4 with this feedback taken into consideration so I am glad to see
we are all in agreement.

Cheers,
Nathan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ