]> code.ossystems Code Review - openembedded-core.git/commitdiff
insane.bbclass: avoid errors for x32 kernel
authorNitin A Kamble <nitin.a.kamble@intel.com>
Wed, 16 Nov 2011 19:14:43 +0000 (11:14 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 17 Nov 2011 14:06:04 +0000 (14:06 +0000)
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>
meta/classes/insane.bbclass

index a65f3ee865cdd553391010a83b5791a4cf106b01..5726e69e71ab6cdb4f5b4757b49522f412612c27 100644 (file)
@@ -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)))