diff mbox series

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

Message ID 20211109150146.529428-1-masahiroy@kernel.org (mailing list archive)
State Accepted
Commit 0706f74f719e6e72c3a862ab2990796578fa73cc
Headers show
Series [1/2] MIPS: fix *-pkg builds for loongson2ef platform | expand

Commit Message

Masahiro Yamada Nov. 9, 2021, 3:01 p.m. UTC
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@bluehome.net>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 arch/mips/Makefile | 2 ++
 1 file changed, 2 insertions(+)

Comments

Thomas Bogendoerfer Nov. 9, 2021, 3:32 p.m. UTC | #1
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@bluehome.net>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
> 
>  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.
diff mbox series

Patch

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)