Re: [PATCH 1/2] MIPS: fix *-pkg builds for loongson2ef platform

From: Thomas Bogendoerfer
Date: Tue Nov 09 2021 - 10:57:59 EST


On Wed, Nov 10, 2021 at 12:01:45AM +0900, Masahiro Yamada wrote:
> Since commit 805b2e1d427a ("kbuild: include Makefile.compiler only when
> compiler is needed"), package builds for the loongson2f platform fail.
>
> $ make ARCH=mips CROSS_COMPILE=mips64-linux- lemote2f_defconfig bindeb-pkg
> [ snip ]
> sh ./scripts/package/builddeb
> arch/mips/loongson2ef//Platform:36: *** only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop. Stop.
> cp: cannot stat '': No such file or directory
> make[5]: *** [scripts/Makefile.package:87: intdeb-pkg] Error 1
> make[4]: *** [Makefile:1558: intdeb-pkg] Error 2
> make[3]: *** [debian/rules:13: binary-arch] Error 2
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
> make[2]: *** [scripts/Makefile.package:83: bindeb-pkg] Error 2
> make[1]: *** [Makefile:1558: bindeb-pkg] Error 2
> make: *** [Makefile:350: __build_one_by_one] Error 2
>
> The reason is because "make image_name" fails.
>
> $ make ARCH=mips CROSS_COMPILE=mips64-linux- image_name
> arch/mips/loongson2ef//Platform:36: *** only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop. Stop.
>
> In general, adding $(error ...) in the parse stage is troublesome,
> and it is pointless to check toolchains even if we are not building
> anything. Do not include Kbuild.platform in such cases.
>
> Fixes: 805b2e1d427a ("kbuild: include Makefile.compiler only when compiler is needed")
> Reported-by: Jason Self <jason@xxxxxxxxxxxx>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---
>
> arch/mips/Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/Makefile b/arch/mips/Makefile
> index e036fc025ccc..ace7f033de07 100644
> --- a/arch/mips/Makefile
> +++ b/arch/mips/Makefile
> @@ -253,7 +253,9 @@ endif
> #
> # Board-dependent options and extra files
> #
> +ifdef need-compiler
> include $(srctree)/arch/mips/Kbuild.platforms
> +endif
>
> ifdef CONFIG_PHYSICAL_START
> load-y = $(CONFIG_PHYSICAL_START)
> --
> 2.30.2

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]