summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-29 14:02:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-30 00:31:18 +0100
commit0f85563eacf5138d98b826343cdfc3833d1c5c8e (patch)
tree383989fd62d1173dc08dc2fc42500b494cb40b89
parent3a51d2c8089cb2d038b1de1d1055e7b62df6447c (diff)
downloadpoky-0f85563eacf5138d98b826343cdfc3833d1c5c8e.tar.gz
make-mod-scripts/kernel-devsrc: Fix objtool issues
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 oeqa kernel module tests also need to have the additional "make prepare" step added. (From OE-Core rev: 52fd2993784b4218f5df4f343e7da45d964df305) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/runtime/cases/kernelmodule.py2
-rw-r--r--meta/recipes-kernel/linux/kernel-devsrc.bb7
-rw-r--r--meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb3
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 11ad7b7f01..de1a5aa445 100644
--- a/meta/lib/oeqa/runtime/cases/kernelmodule.py
+++ b/meta/lib/oeqa/runtime/cases/kernelmodule.py
@@ -28,7 +28,7 @@ class KernelModuleTest(OERuntimeTestCase):
28 @OETestDepends(['gcc.GccCompileTest.test_gcc_compile']) 28 @OETestDepends(['gcc.GccCompileTest.test_gcc_compile'])
29 def test_kernel_module(self): 29 def test_kernel_module(self):
30 cmds = [ 30 cmds = [
31 'cd /usr/src/kernel && make scripts', 31 'cd /usr/src/kernel && make scripts prepare',
32 'cd /tmp && make', 32 'cd /tmp && make',
33 'cd /tmp && insmod hellomod.ko', 33 'cd /tmp && insmod hellomod.ko',
34 'lsmod | grep hellomod', 34 'lsmod | grep hellomod',
diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index c1b5b7786d..8bbfa23e4b 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -69,6 +69,13 @@ do_install() {
69 cp ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o 69 cp ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
70 fi 70 fi
71 71
72 # Remove fixdep/objtool as they won't be target binaries
73 for i in fixdep objtool; do
74 if [ -e $kerneldir/tools/objtool/$i ]; then
75 rm -rf $kerneldir/tools/objtool/$i
76 fi
77 done
78
72 chown -R root:root ${D} 79 chown -R root:root ${D}
73} 80}
74# Ensure we don't race against "make scripts" during cpio 81# 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 d63701e5a0..97c58c5233 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="
22do_configure() { 22do_configure() {
23 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 23 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
24 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \ 24 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
25 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts 25 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts prepare
26
26} 27}