[OE-core] [PATCH 4/4] kernel: add objtool to shared workdir when CONFIG_UNWINDER_ORC is set
bruce.ashfield at gmail.com
bruce.ashfield at gmail.com
Fri Mar 1 05:34:26 UTC 2019
From: Justin Bronder <jsbronder at cold-front.org>
Based on: https://patchwork.openembedded.org/patch/148047/
When x86_64 enables CONFIG_UNWINDER_ORC [ORC (Oops Rewind Capability)
unwinder for unwinding kernel stack traces], objtool is required to
generate the required information.
If we don't copy objtool to the shared workdir, out-of-tree modules
cannot generate object files.
For instance, meta-skeleton/hello-mod fails with:
| make[3]: *** No rule to make target 'tools/objtool/objtool', needed by ...
Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
---
meta/classes/kernel.bbclass | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index a5b1df1b0d..9da9818962 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -487,6 +487,15 @@ do_shared_workdir () {
mkdir -p $kerneldir/arch/${ARCH}/include/generated/
cp -fR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
fi
+
+ if (grep -q -i -e '^CONFIG_UNWINDER_ORC=y$' $kerneldir/.config); then
+ # With CONFIG_UNWINDER_ORC (the default in 4.14), objtool is required for
+ # out-of-tree modules to be able to generate object files.
+ if [ -x tools/objtool/objtool ]; then
+ mkdir -p ${kerneldir}/tools/objtool
+ cp tools/objtool/objtool ${kerneldir}/tools/objtool/
+ fi
+ fi
}
# We don't need to stage anything, not the modules/firmware since those would clash with linux-firmware
--
2.19.1
More information about the Openembedded-core
mailing list