[OE-core] [PATCH] kernel: module: module-base: depend on elfutils-native

Bruce Ashfield bruce.ashfield at gmail.com
Tue Feb 20 17:06:45 UTC 2018


On Tue, Feb 20, 2018 at 11:41 AM, Justin Bronder
<jsbronder at cold-front.org> wrote:
> libelf is required for CONFIG_STACK_VALIDATION which is required by
> CONFIG_UNWINDER_ORC (the default in 4.14+).

As you'll see in the discussion about adding bison-native, we don't want to add
these version specific dependencies globally.

>
> We also need to update the module classes to pass HOSTCC and HOSTCPP

This is already covered in my v3 "make-modules-script" changes.

Bruce

> just like the kernel class already does.  Otherwise the test for libelf
> in the kernel Makefile fails.
> ---
>  meta/classes/kernel.bbclass      | 2 +-
>  meta/classes/module-base.bbclass | 1 +
>  meta/classes/module.bbclass      | 4 +++-
>  3 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 5cdff581ef..d3a7e1e1cb 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -4,7 +4,7 @@ KERNEL_PACKAGE_NAME ??= "kernel"
>  KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
>
>  PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }"
> -DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native lzop-native"
> +DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native lzop-native elfutils-native"
>  PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
>
>  do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot"
> diff --git a/meta/classes/module-base.bbclass b/meta/classes/module-base.bbclass
> index f851b85163..3b56e04534 100644
> --- a/meta/classes/module-base.bbclass
> +++ b/meta/classes/module-base.bbclass
> @@ -23,5 +23,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
>  do_make_scripts() {
>         unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
>         make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
> +                  HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}" \
>                    -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts
>  }
> diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
> index 78d1b21dbd..89dee2dae8 100644
> --- a/meta/classes/module.bbclass
> +++ b/meta/classes/module.bbclass
> @@ -1,10 +1,12 @@
>  inherit module-base kernel-module-split pkgconfig
>
> +DEPENDS += "elfutils-native"
> +
>  addtask make_scripts after do_prepare_recipe_sysroot before do_configure
>  do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
>  do_make_scripts[depends] += "virtual/kernel:do_shared_workdir"
>
> -EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}"
> +EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR} HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
>
>  MODULES_INSTALL_TARGET ?= "modules_install"
>  MODULES_MODULE_SYMVERS_LOCATION ?= ""
> --
> 2.13.6
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



More information about the Openembedded-core mailing list