]> code.ossystems Code Review - openembedded-core.git/commitdiff
insane.bbclass: fix elf.arch not matching error for x32 kernel
authorNitin A Kamble <nitin.a.kamble@intel.com>
Wed, 11 Jan 2012 01:33:31 +0000 (17:33 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 17 Jan 2012 14:52:57 +0000 (14:52 +0000)
For x32 the user space is 32bit and the kernel is 64bit.
So the elf.arch for vmlinuz is x86_64 and not x86. This commit
fixes this QA error thrown for x32 kernel.

| ERROR: QA Issue: Architecture did not match (62 to 3) on
/work/qemux86_64-poky-linux-gnux32/linux-korg-3.1+git1+e2bf8464ddbf5da24d3d320cded5691828a91a0b-r1/packages-split/kernel-vmlinux/boot/vmlinux-3.1.0-yocto-standard-01628-ge2bf846
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
meta/classes/insane.bbclass

index 8d6b11c1cf4c573d27a8c39e867b9268cce880f3..ce21496f99f6c6779c4c0c986040867625c4f160 100644 (file)
@@ -331,7 +331,8 @@ def package_qa_check_arch(path,name,d, elf, messages):
         = package_qa_get_machine_dict()[target_os][target_arch]
 
     # Check the architecture and endiannes of the binary
-    if not machine == elf.machine():
+    if not ((machine == elf.machine()) or \
+       ("virtual/kernel" in provides) and (target_os == "linux-gnux32")):
         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()) or  \