diff options
-rw-r--r-- | meta/classes/sanity.bbclass | 50 |
1 files changed, 1 insertions, 49 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index ea5f215ad3..f629d2046d 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass | |||
@@ -448,45 +448,6 @@ def check_sanity_validmachine(sanity_data): | |||
448 | 448 | ||
449 | return messages | 449 | return messages |
450 | 450 | ||
451 | # Checks if necessary to add option march to host gcc | ||
452 | def check_gcc_march(sanity_data): | ||
453 | result = True | ||
454 | message = "" | ||
455 | |||
456 | # Check if -march not in BUILD_CFLAGS | ||
457 | if sanity_data.getVar("BUILD_CFLAGS").find("-march") < 0: | ||
458 | result = False | ||
459 | |||
460 | # Construct a test file | ||
461 | f = open("gcc_test.c", "w") | ||
462 | f.write("int main (){ volatile int atomic = 2; __sync_bool_compare_and_swap (&atomic, 2, 3); return 0; }\n") | ||
463 | f.close() | ||
464 | |||
465 | # Check if GCC could work without march | ||
466 | if not result: | ||
467 | status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} gcc_test.c -o gcc_test")) | ||
468 | if status == 0: | ||
469 | result = True; | ||
470 | |||
471 | if not result: | ||
472 | status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} -march=native gcc_test.c -o gcc_test")) | ||
473 | if status == 0: | ||
474 | message = "BUILD_CFLAGS_append = \" -march=native\"" | ||
475 | result = True; | ||
476 | |||
477 | if not result: | ||
478 | build_arch = sanity_data.getVar('BUILD_ARCH') | ||
479 | status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} -march=%s gcc_test.c -o gcc_test" % build_arch)) | ||
480 | if status == 0: | ||
481 | message = "BUILD_CFLAGS_append = \" -march=%s\"" % build_arch | ||
482 | result = True; | ||
483 | |||
484 | os.remove("gcc_test.c") | ||
485 | if os.path.exists("gcc_test"): | ||
486 | os.remove("gcc_test") | ||
487 | |||
488 | return (result, message) | ||
489 | |||
490 | # Unpatched versions of make 3.82 are known to be broken. See GNU Savannah Bug 30612. | 451 | # Unpatched versions of make 3.82 are known to be broken. See GNU Savannah Bug 30612. |
491 | # Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate. | 452 | # Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate. |
492 | def check_make_version(sanity_data): | 453 | def check_make_version(sanity_data): |
@@ -612,7 +573,7 @@ def check_sanity_sstate_dir_change(sstate_dir, data): | |||
612 | except IndexError: | 573 | except IndexError: |
613 | pass | 574 | pass |
614 | return testmsg | 575 | return testmsg |
615 | 576 | ||
616 | def check_sanity_version_change(status, d): | 577 | def check_sanity_version_change(status, d): |
617 | # Sanity checks to be done when SANITY_VERSION or NATIVELSBSTRING changes | 578 | # Sanity checks to be done when SANITY_VERSION or NATIVELSBSTRING changes |
618 | # In other words, these tests run once in a given build directory and then | 579 | # In other words, these tests run once in a given build directory and then |
@@ -657,15 +618,6 @@ def check_sanity_version_change(status, d): | |||
657 | if "diffstat-native" not in assume_provided: | 618 | if "diffstat-native" not in assume_provided: |
658 | status.addresult('Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n') | 619 | status.addresult('Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n') |
659 | 620 | ||
660 | (result, message) = check_gcc_march(d) | ||
661 | if result and message: | ||
662 | status.addresult("Your gcc version is older than 4.5, please add the following param to local.conf\n \ | ||
663 | %s\n" % message) | ||
664 | if not result: | ||
665 | status.addresult("Your gcc version is older than 4.5 or is not working properly. Please verify you can build") | ||
666 | status.addresult(" and link something that uses atomic operations, such as: \n") | ||
667 | status.addresult(" __sync_bool_compare_and_swap (&atomic, 2, 3);\n") | ||
668 | |||
669 | # Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS) | 621 | # Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS) |
670 | tmpdir = d.getVar('TMPDIR') | 622 | tmpdir = d.getVar('TMPDIR') |
671 | status.addresult(check_create_long_filename(tmpdir, "TMPDIR")) | 623 | status.addresult(check_create_long_filename(tmpdir, "TMPDIR")) |