[OE-core] [PATCH] make-mod-scripts/kernel-devsrc: Fix objtool issues

Bruce Ashfield bruce.ashfield at gmail.com
Thu Mar 29 14:06:32 UTC 2018


Looks good to me. Thanks for fixing this up .. amazing
how these pop up out of nowhere .. at almost always a
non opportune time!

Acked-by: Bruce Ashfield <bruce.ashfeld at windriver.com>

On Thu, Mar 29, 2018 at 10:04 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> Kernels which use tools/objtool can now fail when building external modules
> due to objtool being missing, the generated files can also cause problems
> for kernel-devsrc.
>
> Ensure objtool is generated in make-mod-scripts by also calling
> "make prepare".
>
> For devsrc, delete the generated binaries since they'd be native
> binaries and unsuitable for the target.
>
> The oqqa kernel module tests also need to have the additional "make prepare"
> step added.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
>  meta/lib/oeqa/runtime/cases/kernelmodule.py                  | 2 +-
>  meta/recipes-kernel/linux/kernel-devsrc.bb                   | 7 +++++++
>  meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb | 3 ++-
>  3 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/meta/lib/oeqa/runtime/cases/kernelmodule.py b/meta/lib/oeqa/runtime/cases/kernelmodule.py
> index 11ad7b7..de1a5aa 100644
> --- a/meta/lib/oeqa/runtime/cases/kernelmodule.py
> +++ b/meta/lib/oeqa/runtime/cases/kernelmodule.py
> @@ -28,7 +28,7 @@ class KernelModuleTest(OERuntimeTestCase):
>      @OETestDepends(['gcc.GccCompileTest.test_gcc_compile'])
>      def test_kernel_module(self):
>          cmds = [
> -            'cd /usr/src/kernel && make scripts',
> +            'cd /usr/src/kernel && make scripts prepare',
>              'cd /tmp && make',
>              'cd /tmp && insmod hellomod.ko',
>              'lsmod | grep hellomod',
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index c1b5b77..8bbfa23 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -69,6 +69,13 @@ do_install() {
>                  cp ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
>          fi
>
> +        # Remove fixdep/objtool as they won't be target binaries
> +        for i in fixdep objtool; do
> +                if [ -e $kerneldir/tools/objtool/$i ]; then
> +                        rm -rf $kerneldir/tools/objtool/$i
> +                fi
> +        done
> +
>          chown -R root:root ${D}
>  }
>  # Ensure we don't race against "make scripts" during cpio
> diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
> index d63701e..97c58c5 100644
> --- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
> +++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
> @@ -22,5 +22,6 @@ EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="
>  do_configure() {
>         unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
>         oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
> -                  -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts
> +                  -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts prepare
> +
>  }
> --
> 2.7.4
>
> --
> _______________________________________________
> 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