[OE-core] [PATCH] kernel-yocto: do_configme: Add $TOOLCHAIN_OPTIONS to CFLAGS

Ioan-Adrian Ratiu adrian.ratiu at ni.com
Tue Aug 4 07:41:48 UTC 2015


The kernel configure step was broken by the sysroot poisoning in [1].
In linux-yocto.inc this was fixed by appending $TOOLCHAIN_OPTIONS to
KERNEL_CC, TOOLCHAIN_OPTIONS containing the needed --sysroot arg.

However, [1] also breaks the yocto configure fragment generation:
after parsing the fragments, when make is called on the merged file
to fill in any missing symbols with default values. The call chain is:

do_kernel_configme() -> configme -> merge_config.sh
-> make KCONFIG_ALLCONFIG=$TMP_FILE

This issue was uncaught until now because configme redirects all stdout
and stderr to merge_log.txt prior to calling merge_configs.sh and there
is no return value checking, so building continues and the silent error
is ignored.

Adding $TOOLCHAIN_OPTIONS to $CFLAGS before calling configme fixes this.

TODO: In a future patch this kind of error should be made loud and cause
the build to fail.

[1] http://lists.openembedded.org/pipermail/openembedded-core/2014-October/098253.html

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
---
 meta/classes/kernel-yocto.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 231e08d..3a67238 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -248,6 +248,7 @@ do_kernel_configme() {
 
 	cd ${S}
 	PATH=${PATH}:${S}/scripts/util
+	CFLAGS="${CFLAGS} ${TOOLCHAIN_OPTIONS}"
 	configme ${configmeflags} --reconfig --output ${B} ${LINUX_KERNEL_TYPE} ${KMACHINE}
 	if [ $? -ne 0 ]; then
 		bbfatal_log "Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}"
-- 
2.1.4




More information about the Openembedded-core mailing list