diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/insane.bbclass | 84 |
1 files changed, 43 insertions, 41 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index b376470bd7..812438494b 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass | |||
@@ -32,58 +32,58 @@ PACKAGEFUNCS += " do_package_qa " | |||
32 | def package_qa_get_machine_dict(): | 32 | def package_qa_get_machine_dict(): |
33 | return { | 33 | return { |
34 | "darwin9" : { | 34 | "darwin9" : { |
35 | "arm" : (40, 0, 0, True, True), | 35 | "arm" : (40, 0, 0, True, 32), |
36 | }, | 36 | }, |
37 | "linux" : { | 37 | "linux" : { |
38 | "arm" : (40, 97, 0, True, True), | 38 | "arm" : (40, 97, 0, True, 32), |
39 | "armeb": (40, 97, 0, False, True), | 39 | "armeb": (40, 97, 0, False, 32), |
40 | "powerpc": (20, 0, 0, False, True), | 40 | "powerpc": (20, 0, 0, False, 32), |
41 | "i386": ( 3, 0, 0, True, True), | 41 | "i386": ( 3, 0, 0, True, 32), |
42 | "i486": ( 3, 0, 0, True, True), | 42 | "i486": ( 3, 0, 0, True, 32), |
43 | "i586": ( 3, 0, 0, True, True), | 43 | "i586": ( 3, 0, 0, True, 32), |
44 | "i686": ( 3, 0, 0, True, True), | 44 | "i686": ( 3, 0, 0, True, 32), |
45 | "x86_64": (62, 0, 0, True, False), | 45 | "x86_64": (62, 0, 0, True, 64), |
46 | "ia64": (50, 0, 0, True, False), | 46 | "ia64": (50, 0, 0, True, 64), |
47 | "alpha": (36902, 0, 0, True, False), | 47 | "alpha": (36902, 0, 0, True, 64), |
48 | "hppa": (15, 3, 0, False, True), | 48 | "hppa": (15, 3, 0, False, 32), |
49 | "m68k": ( 4, 0, 0, False, True), | 49 | "m68k": ( 4, 0, 0, False, 32), |
50 | "mips": ( 8, 0, 0, False, True), | 50 | "mips": ( 8, 0, 0, False, 32), |
51 | "mipsel": ( 8, 0, 0, True, True), | 51 | "mipsel": ( 8, 0, 0, True, 32), |
52 | "s390": (22, 0, 0, False, True), | 52 | "s390": (22, 0, 0, False, 32), |
53 | "sh4": (42, 0, 0, True, True), | 53 | "sh4": (42, 0, 0, True, 32), |
54 | "sparc": ( 2, 0, 0, False, True), | 54 | "sparc": ( 2, 0, 0, False, 32), |
55 | }, | 55 | }, |
56 | "linux-uclibc" : { | 56 | "linux-uclibc" : { |
57 | "arm" : ( 40, 97, 0, True, True), | 57 | "arm" : ( 40, 97, 0, True, 32), |
58 | "armeb": ( 40, 97, 0, False, True), | 58 | "armeb": ( 40, 97, 0, False, 32), |
59 | "powerpc": ( 20, 0, 0, False, True), | 59 | "powerpc": ( 20, 0, 0, False, 32), |
60 | "i386": ( 3, 0, 0, True, True), | 60 | "i386": ( 3, 0, 0, True, 32), |
61 | "i486": ( 3, 0, 0, True, True), | 61 | "i486": ( 3, 0, 0, True, 32), |
62 | "i586": ( 3, 0, 0, True, True), | 62 | "i586": ( 3, 0, 0, True, 32), |
63 | "i686": ( 3, 0, 0, True, True), | 63 | "i686": ( 3, 0, 0, True, 32), |
64 | "x86_64": ( 62, 0, 0, True, False), | 64 | "x86_64": ( 62, 0, 0, True, 64), |
65 | "mips": ( 8, 0, 0, False, True), | 65 | "mips": ( 8, 0, 0, False, 32), |
66 | "mipsel": ( 8, 0, 0, True, True), | 66 | "mipsel": ( 8, 0, 0, True, 32), |
67 | "avr32": (6317, 0, 0, False, True), | 67 | "avr32": (6317, 0, 0, False, 32), |
68 | "sh4": (42, 0, 0, True, True), | 68 | "sh4": (42, 0, 0, True, 32), |
69 | 69 | ||
70 | }, | 70 | }, |
71 | "uclinux-uclibc" : { | 71 | "uclinux-uclibc" : { |
72 | "bfin": ( 106, 0, 0, True, True), | 72 | "bfin": ( 106, 0, 0, True, 32), |
73 | }, | 73 | }, |
74 | "linux-gnueabi" : { | 74 | "linux-gnueabi" : { |
75 | "arm" : (40, 0, 0, True, True), | 75 | "arm" : (40, 0, 0, True, 32), |
76 | "armeb" : (40, 0, 0, False, True), | 76 | "armeb" : (40, 0, 0, False, 32), |
77 | }, | 77 | }, |
78 | "linux-uclibcgnueabi" : { | 78 | "linux-uclibcgnueabi" : { |
79 | "arm" : (40, 0, 0, True, True), | 79 | "arm" : (40, 0, 0, True, 32), |
80 | "armeb" : (40, 0, 0, False, True), | 80 | "armeb" : (40, 0, 0, False, 32), |
81 | }, | 81 | }, |
82 | "linux-gnuspe" : { | 82 | "linux-gnuspe" : { |
83 | "powerpc": (20, 0, 0, False, True), | 83 | "powerpc": (20, 0, 0, False, 32), |
84 | }, | 84 | }, |
85 | "linux-uclibcspe" : { | 85 | "linux-uclibcspe" : { |
86 | "powerpc": (20, 0, 0, False, True), | 86 | "powerpc": (20, 0, 0, False, 32), |
87 | }, | 87 | }, |
88 | 88 | ||
89 | } | 89 | } |
@@ -243,7 +243,7 @@ def package_qa_check_arch(path,name,d, elf): | |||
243 | return True | 243 | return True |
244 | 244 | ||
245 | #if this will throw an exception, then fix the dict above | 245 | #if this will throw an exception, then fix the dict above |
246 | (machine, osabi, abiversion, littleendian, bits32) \ | 246 | (machine, osabi, abiversion, littleendian, bits) \ |
247 | = package_qa_get_machine_dict()[target_os][target_arch] | 247 | = package_qa_get_machine_dict()[target_os][target_arch] |
248 | 248 | ||
249 | # Check the architecture and endiannes of the binary | 249 | # Check the architecture and endiannes of the binary |
@@ -251,6 +251,10 @@ def package_qa_check_arch(path,name,d, elf): | |||
251 | error_msg = "Architecture did not match (%d to %d) on %s" % \ | 251 | error_msg = "Architecture did not match (%d to %d) on %s" % \ |
252 | (machine, elf.machine(), package_qa_clean_path(path,d)) | 252 | (machine, elf.machine(), package_qa_clean_path(path,d)) |
253 | sane = package_qa_handle_error(4, error_msg, name, path, d) | 253 | sane = package_qa_handle_error(4, error_msg, name, path, d) |
254 | elif not bits == elf.abiSize(): | ||
255 | error_msg = "Bit size did not match (%d to %d) on %s" % \ | ||
256 | (bits, elf.abiSize(), package_qa_clean_path(path,d)) | ||
257 | sane = package_qa_handle_error(4, error_msg, name, path, d) | ||
254 | elif not littleendian == elf.isLittleEndian(): | 258 | elif not littleendian == elf.isLittleEndian(): |
255 | error_msg = "Endiannes did not match (%d to %d) on %s" % \ | 259 | error_msg = "Endiannes did not match (%d to %d) on %s" % \ |
256 | (littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)) | 260 | (littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)) |
@@ -445,14 +449,12 @@ def package_qa_walk(path, funcs, package,d): | |||
445 | #if this will throw an exception, then fix the dict above | 449 | #if this will throw an exception, then fix the dict above |
446 | target_os = bb.data.getVar('TARGET_OS', d, True) | 450 | target_os = bb.data.getVar('TARGET_OS', d, True) |
447 | target_arch = bb.data.getVar('TARGET_ARCH', d, True) | 451 | target_arch = bb.data.getVar('TARGET_ARCH', d, True) |
448 | (machine, osabi, abiversion, littleendian, bits32) \ | ||
449 | = package_qa_get_machine_dict()[target_os][target_arch] | ||
450 | 452 | ||
451 | sane = True | 453 | sane = True |
452 | for root, dirs, files in os.walk(path): | 454 | for root, dirs, files in os.walk(path): |
453 | for file in files: | 455 | for file in files: |
454 | path = os.path.join(root,file) | 456 | path = os.path.join(root,file) |
455 | elf = oe.qa.ELFFile(path, bits32) | 457 | elf = oe.qa.ELFFile(path) |
456 | try: | 458 | try: |
457 | elf.open() | 459 | elf.open() |
458 | except: | 460 | except: |