insane: Special case kernel modules for x32 targets

The Kernel module packages for x32 target have 64 bit binaries, which
breaks the QA_check expecting all the packages to be 32bit.

Make a special case for kernel module packages for x32 targets, to avoid
this false error.

Fixes Bug:
[YOCTO #5903]

(From OE-Core rev: a4261ab92735abfba835e916931d2e920f335aaa)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nitin A Kamble 2014-03-04 10:17:52 -08:00 committed by Richard Purdie
parent 01e5d7bc53
commit d31d2e85cf
1 changed files with 2 additions and 2 deletions

View File

@ -443,11 +443,11 @@ def package_qa_check_arch(path,name,d, elf, messages):
# Check the architecture and endiannes of the binary
if not ((machine == elf.machine()) or \
("virtual/kernel" in provides) and (target_os == "linux-gnux32")):
((("virtual/kernel" in provides) or bb.data.inherits_class("module", d) ) 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 \
("virtual/kernel" in provides) and (target_os == "linux-gnux32")):
((("virtual/kernel" in provides) or bb.data.inherits_class("module", d) ) 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():