Re: [PATCH v2] xtensa: add boot subdirectories targets to extra-y

Masahiro Yamada
2020-07-22T00:53:27Z

On Tue, Jul 21, 2020 at 6:37 PM Max Filippov <jcmvbkbc@gmail.com> wrote:
>
> The commit 8fe87a92f262 ("kbuild: always create directories of targets")
> exposed an issue in the xtensa makefiles that results in the following
> build error in a clean directory:
> scripts/Makefile.build:374: arch/xtensa/boot/boot-elf/boot.lds] Error 1
> arch/xtensa/boot/boot-elf/bootstrap.S:21: fatal error:
> opening dependency file arch/xtensa/boot/boot-elf/.bootstrap.o.d:
> No such file or directory
>
> Intermediate targets in arch/xtensa/boot/boot-elf don't get into
> 'targets' and build directory is not created for them.
> Add boot.lds and bootstrap.o to extra-y in subdirectories of
> arch/xtensa/boot.
>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
> Changes v1->v2:
> - update boot-redboot/Makefile in the same manner as boot-elf/Makefile.

Oops, sorry and thanks.

But, we need to fix this in the kbuild tree
to retain the bisectability.

I will insert the following before the offending commit.
https://patchwork.kernel.org/patch/11676883/

I used 'targets' instead of 'extra-y'
because they are built on demand
while building the final boot image.

> arch/xtensa/boot/boot-elf/Makefile | 1 +
> arch/xtensa/boot/boot-redboot/Makefile | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/arch/xtensa/boot/boot-elf/Makefile b/arch/xtensa/boot/boot-elf/Makefile
> index 12ae1e91cb75..ad341c0fff15 100644
> --- a/arch/xtensa/boot/boot-elf/Makefile
> +++ b/arch/xtensa/boot/boot-elf/Makefile
> @@ -15,6 +15,7 @@ export CPPFLAGS_boot.lds += -P -C
> export KBUILD_AFLAGS += -mtext-section-literals
>
> boot-y := bootstrap.o
> +extra-y := boot.lds $(boot-y)
>
> OBJS := $(addprefix $(obj)/,$(boot-y))
>
> diff --git a/arch/xtensa/boot/boot-redboot/Makefile b/arch/xtensa/boot/boot-redboot/Makefile
> index 8632473ad319..022a76a2282a 100644
> --- a/arch/xtensa/boot/boot-redboot/Makefile
> +++ b/arch/xtensa/boot/boot-redboot/Makefile
> @@ -13,6 +13,7 @@ endif
> LD_ARGS = -T $(srctree)/$(obj)/boot.ld
>
> boot-y := bootstrap.o
> +extra-y := $(boot-y)
>
> OBJS := $(addprefix $(obj)/,$(boot-y))
> LIBS := arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a
> --
> 2.20.1
>

--
Best Regards
Masahiro Yamada