summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2011-11-16 11:14:43 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-17 14:06:04 +0000
commitc9963542b17537f18548616c9ad4f1d92f42bffb (patch)
treef59d8a918a5226bf343b74b166af13e9d493a070
parentf555f1a5a25e13bbc6f9906f14f20d76998d9fd5 (diff)
downloadopenembedded-core-c9963542b17537f18548616c9ad4f1d92f42bffb.tar.gz
openembedded-core-c9963542b17537f18548616c9ad4f1d92f42bffb.tar.bz2
openembedded-core-c9963542b17537f18548616c9ad4f1d92f42bffb.zip
insane.bbclass: avoid errors for x32 kernel
x32 abi of x86_64 has 32bit userspace and the kernel is 64bit. The qa checking code was reporting this as errors for x32 kernel files and modules. This commit extends the condition in the checking code to avoid throwing the bitsize not matched error for x32 kernel files. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/insane.bbclass8
1 files changed, 5 insertions, 3 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index a65f3ee865..5726e69e71 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -211,6 +211,7 @@ def package_qa_check_arch(path,name,d, elf, messages):
target_os = d.getVar('TARGET_OS', True)
target_arch = d.getVar('TARGET_ARCH', True)
+ provides = d.getVar('PROVIDES', d, True)
# FIXME: Cross package confuse this check, so just skip them
for s in ['cross', 'nativesdk', 'cross-canadian']:
@@ -230,9 +231,10 @@ def package_qa_check_arch(path,name,d, elf, messages):
if not machine == elf.machine():
messages.append("Architecture did not match (%d to %d) on %s" % \
(machine, elf.machine(), package_qa_clean_path(path,d)))
- elif not bits == elf.abiSize():
- messages.append("Bit size did not match (%d to %d) on %s" % \
- (bits, elf.abiSize(), package_qa_clean_path(path,d)))
+ elif not ((bits == elf.abiSize()) or \
+ ("virtual/kernel" in provides) and (target_os == "linux-gnux32")):
+ messages.append("Bit size did not match (%d to %d) %s on %s" % \
+ (bits, elf.abiSize(), bpn, package_qa_clean_path(path,d)))
elif not littleendian == elf.isLittleEndian():
messages.append("Endiannes did not match (%d to %d) on %s" % \
(littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)))