[OE-core] [PATCH 10/10] kern-tools: fix merge_config when LD contains parameters

Martin Jansa martin.jansa at gmail.com
Fri Feb 7 14:19:53 UTC 2020


With the LD="${KERNEL_LD}" removed here, the build with ld-is-gold doesn't
work anymore again.

Why did you remove it?

On Thu, Feb 6, 2020 at 6:37 PM <bruce.ashfield at gmail.com> wrote:

> From: Bruce Ashfield <bruce.ashfield at gmail.com>
>
> To ensure that the kernel linker is used when allno/mod/yes config
> merge_config steps were executed, the call to make was tweaked to
> explicitly pass LD.
>
> But since the variable wasn't quoted, any parameters to LD (like
> the sysroot) were mistakenly passed to make, and hence could trigger
> an error on some architectures.
>
> We also tweak the logging to hightlight errors like this in the
> future and avoid losing it in the noise of merge configs sometimes
> overly verbose output.
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
> ---
>  meta/classes/kernel-yocto.bbclass                      | 10 +++++++---
>  .../recipes-kernel/kern-tools/kern-tools-native_git.bb |  2 +-
>  2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/meta/classes/kernel-yocto.bbclass
> b/meta/classes/kernel-yocto.bbclass
> index 918d101d3d..31ea42580c 100644
> --- a/meta/classes/kernel-yocto.bbclass
> +++ b/meta/classes/kernel-yocto.bbclass
> @@ -352,10 +352,14 @@ do_kernel_configme() {
>                 bbfatal_log "Could not find configuration queue
> (${meta_dir}/config.queue)"
>         fi
>
> -       CFLAGS="${CFLAGS} ${TOOLCHAIN_OPTIONS}" HOSTCC="${BUILD_CC}
> ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}" CC="${KERNEL_CC}"
> LD="${KERNEL_LD}" ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags}
> ${configs}
> -
> +       CFLAGS="${CFLAGS} ${TOOLCHAIN_OPTIONS}" HOSTCC="${BUILD_CC}
> ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}" CC="${KERNEL_CC}"
> ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} >
> ${meta_dir}/cfg/merge_config_build.log 2>&1
>         if [ $? -ne 0 -o ! -f ${B}/.config ]; then
> -               bbfatal_log "Could not configure
> ${KMACHINE}-${LINUX_KERNEL_TYPE}"
> +               bberror "Could not generate a .config for
> ${KMACHINE}-${LINUX_KERNEL_TYPE}"
> +               if [ ${KCONF_AUDIT_LEVEL} -gt 1 ]; then
> +                       bbfatal_log "`cat
> ${meta_dir}/cfg/merge_config_build.log`"
> +               else
> +                       bbfatal_log "Details can be found at:
> ${S}/${meta_dir}/cfg/merge_config_build.log"
> +               fi
>         fi
>
>         if [ ! -z "${LINUX_VERSION_EXTENSION}" ]; then
> diff --git a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
> b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
> index f263421234..4f1af731d6 100644
> --- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
> +++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
> @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM =
> "file://tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249
>
>  DEPENDS = "git-native"
>
> -SRCREV = "388b67974deb2176c06994a325676cbf23e5fce8"
> +SRCREV = "c66833e1caac25279a5052fceb13213f5e4f79f9"
>  PR = "r12"
>  PV = "0.2+git${SRCPV}"
>
> --
> 2.19.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20200207/46204b7c/attachment-0001.html>


More information about the Openembedded-core mailing list