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] [day] [month] [year] [list]
Message-ID: <CAK7LNASkcs8gdi-pRf5EYs6PDOgTK-HLoWCsqiWTDUX-kS-bcg@mail.gmail.com>
Date:   Mon, 26 Sep 2022 15:34:32 +0900
From:   Masahiro Yamada <masahiroy@...nel.org>
To:     Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        linux-arch <linux-arch@...r.kernel.org>,
        Michal Marek <michal.lkml@...kovi.net>,
        Nick Desaulniers <ndesaulniers@...gle.com>
Subject: Re: [PATCH] kbuild: suppress warnings for single builds of
 vmlinux.lds, *.a, etc.

On Mon, Sep 26, 2022 at 10:27 AM Masahiro Yamada <masahiroy@...nel.org> wrote:
>
> vmlinux-deps is unneeded because the dependency can directly list
> $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
>
> Do not cancel the rule; building an individual vmlinux.lds, built-in.a,
> or lib.a is working now, but the warning "overriding recipe for target"
> is shown.
>
> Without this patch:
>
>   $ make arch/x86/kernel/vmlinux.lds
>   Makefile:1798: warning: overriding recipe for target 'arch/x86/kernel/vmlinux.lds'
>   Makefile:1162: warning: ignoring old recipe for target 'arch/x86/kernel/vmlinux.lds'
>     [ snip ]
>     LDS     arch/x86/kernel/vmlinux.lds
>
> Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
> ---


I take this back.


After testing this, I noticed vmlinux was not correctly rebuilt.





>
>  Makefile | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 244c07f1cc70..3e6974b4ebf2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1118,7 +1118,8 @@ endif
>  export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
>  export KBUILD_LDS          := arch/$(SRCARCH)/kernel/vmlinux.lds
>
> -vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
> +# The actual objects are generated when descending.
> +$(sort $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)): .
>
>  # Recurse until adjust_autoksyms.sh is satisfied
>  PHONY += autoksyms_recursive
> @@ -1157,10 +1158,6 @@ vmlinux: scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE
>
>  targets := vmlinux
>
> -# The actual objects are generated when descending,
> -# make sure no implicit rule kicks in
> -$(sort $(vmlinux-deps)): . ;
> -
>  filechk_kernel.release = \
>         echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
>
> --
> 2.34.1
>


-- 
Best Regards
Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ