]> code.ossystems Code Review - openembedded-core.git/commit
kernel.bbclass: set LD in KERNEL_CONFIG_COMMAND to fix 5.4+ builds when gold is enabled
authorMartin Jansa <martin.jansa@gmail.com>
Mon, 3 Feb 2020 18:11:50 +0000 (19:11 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 4 Feb 2020 15:56:24 +0000 (15:56 +0000)
commit66c1f4b0abd3483759f9e4141a80f982eaf8ccfd
tree61128cca6b9aafe8a293c8862f2ace533ff10b62
parent0ebb56ff192e9c6db2af83c37db3307a27fe822a
kernel.bbclass: set LD in KERNEL_CONFIG_COMMAND to fix 5.4+ builds when gold is enabled

* with 5.4 kernel the do_configure fails when gold is enabled (with ld-is-gold in DISTRO_FEATURES)
* bfd is already being set in KERNEL_LD:
  kernel-arch.bbclass:KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
  but KERNEL_LD is currently respected only by do_compile and do_compile_kernel modules
  and new kernel which contains a check for gold in Kbuild:
  https://lore.kernel.org/lkml/alpine.DEB.2.21.1907161434260.1767@nanos.tec.linutronix.de/
  more details:
  https://lore.kernel.org/r/CAMe9rOqMqkQ0LNpm25yE_Yt0FKp05WmHOrwc0aRDb53miFKM+w@mail.gmail.com
  will fail during the configuration even when gold wouldn't be used to
  build it in the end, add LD setting to KERNEL_CONFIG_COMMAND to prevent
  premature error when configuring

  scripts/kconfig/conf  --olddefconfig Kconfig
  scripts/Kconfig.include:39:  gold linker 'x86_64-oe-linux-ld' not supported
  make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/scripts/kconfig/Makefile:73: olddefconfig] Error 1

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel.bbclass