[yocto] Warnings using Yocto1.4(M3) when building kernel modules for Atom arch
Letnes, Thaddeus C
thaddeus.c.letnes at intel.com
Mon Mar 4 16:17:37 PST 2013
I have several recipes for kernel modules that are raising the following error:
error: SSE instruction set disabled, using 387 arithmetics [-Werror]
in these recipes ${CC} is being reported as: "i586-poky-linux-gcc -m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/proj/build/tmp/sysroots/proj "
My question is, am I encountering a new bug in Yocto 1.4, or are my recipes incorrect?
Obviously the error is arising because there was a warning that SSE should not be used, but is specified in ${CC}. I have traced this back and find that:
(this part is the same in 1.3 and 1.4)
conf/machine/include/tune-atom.inc includes:
conf/machine/include/tune-core2.inc which sets:
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "core2", "-march=core2 -msse3 -mtune=generic -mfpmath=sse", "", d)}"
(this part has changed)
meta/conf/bitbake.conf sets:
TUNE_CCARGS[vardepvalue] = "${TUNE_CCARGS}"
This was changed in the following commit:
Revision: 7cbc3cf64bf68138fbbbb8bcae76ecd22d583c98
Author: Martin Jansa <Martin.Jansa at gmail.com<mailto:Martin.Jansa at gmail.com>>
Date: 9/22/2012 5:08:13 AM
Message:
bitbake.conf: add TUNE_CCARGS[vardepvalue]
* we don't care about expression but value
* e.g. tune-xscale and tune-arm926ejs have different expression
in TUNE_CCARGS but with the same DEFAULTTUNE the result is the same
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-September/030032.html
(From OE-Core rev: 03f1e34ea3ce80931e9c3cd2ab22824f28a7233b)
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com<mailto:Martin.Jansa at gmail.com>>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org<mailto:richard.purdie at linuxfoundation.org>>
----
Modified: meta/conf/bitbake.conf
(this part is the same in 1.3 and 1.4)
meta/conf/bitbake.conf sets:
TARGET_CC_ARCH = "${TUNE_CCARGS}"
meta/classes/toolchain-scripts.bbclass writes scripts that set:
CC="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=<script dependent path>"
The result is (in my case) that we are building kernel modules with invalid options.
It is not clear to me why TUNE_CCARGS[vardepvalue] would be used to replace ${TUNE_CCARGS}, but it seems to be what is happening.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20130305/a5bc78b1/attachment.html>
More information about the yocto
mailing list