linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kbuild: suppress warnings for single builds of vmlinux.lds, *.a, etc.
@ 2022-09-26  1:26 Masahiro Yamada
  2022-09-26  6:34 ` Masahiro Yamada
  0 siblings, 1 reply; 2+ messages in thread
From: Masahiro Yamada @ 2022-09-26  1:26 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, linux-arch, Masahiro Yamada, Michal Marek,
	Nick Desaulniers

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@kernel.org>
---

 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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] kbuild: suppress warnings for single builds of vmlinux.lds, *.a, etc.
  2022-09-26  1:26 [PATCH] kbuild: suppress warnings for single builds of vmlinux.lds, *.a, etc Masahiro Yamada
@ 2022-09-26  6:34 ` Masahiro Yamada
  0 siblings, 0 replies; 2+ messages in thread
From: Masahiro Yamada @ 2022-09-26  6:34 UTC (permalink / raw)
  To: Linux Kbuild mailing list
  Cc: Linux Kernel Mailing List, linux-arch, Michal Marek, Nick Desaulniers

On Mon, Sep 26, 2022 at 10:27 AM Masahiro Yamada <masahiroy@kernel.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@kernel.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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-09-26  6:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-26  1:26 [PATCH] kbuild: suppress warnings for single builds of vmlinux.lds, *.a, etc Masahiro Yamada
2022-09-26  6:34 ` Masahiro Yamada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).