diff --git a/libcxx/cmake/caches/AArch64.cmake b/libcxx/cmake/caches/AArch64.cmake new file mode 100644 --- /dev/null +++ b/libcxx/cmake/caches/AArch64.cmake @@ -0,0 +1,3 @@ +set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") +set(CMAKE_C_FLAGS "-mcpu=cortex-a57" CACHE STRING "") +set(CMAKE_CXX_FLAGS "-mcpu=cortex-a57" CACHE STRING "") diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -15,315 +15,71 @@ # steps: - - label: "Format" - command: "libcxx/utils/ci/run-buildbot check-format" - artifact_paths: - - "**/clang-format.patch" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - soft_fail: - - exit_status: 1 - - - label: "C++03" - command: "libcxx/utils/ci/run-buildbot generic-cxx03" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "C++11" - command: "libcxx/utils/ci/run-buildbot generic-cxx11" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "C++14" - command: "libcxx/utils/ci/run-buildbot generic-cxx14" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "C++17" - command: "libcxx/utils/ci/run-buildbot generic-cxx17" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "C++20" - command: "libcxx/utils/ci/run-buildbot generic-cxx20" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "C++2b" - command: "libcxx/utils/ci/run-buildbot generic-cxx2b" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "-fno-exceptions" - command: "libcxx/utils/ci/run-buildbot generic-noexceptions" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "GCC/C++20" - command: "libcxx/utils/ci/run-buildbot generic-gcc" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "ASAN" - command: "libcxx/utils/ci/run-buildbot generic-asan" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "TSAN" - command: "libcxx/utils/ci/run-buildbot generic-tsan" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "UBSAN" - command: "libcxx/utils/ci/run-buildbot generic-ubsan" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "With LLVM's libunwind" - command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "Single-threaded" - command: "libcxx/utils/ci/run-buildbot generic-singlethreaded" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "No debug mode" - command: "libcxx/utils/ci/run-buildbot generic-nodebug" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "No Filesystem" - command: "libcxx/utils/ci/run-buildbot generic-no-filesystem" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "No random device" - command: "libcxx/utils/ci/run-buildbot generic-no-random_device" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "No locale" - command: "libcxx/utils/ci/run-buildbot generic-no-localization" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "MacOS C++20" - command: "libcxx/utils/ci/run-buildbot generic-cxx20" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders-macos" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "Benchmarks" - command: "libcxx/utils/ci/run-buildbot benchmarks" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "Documentation" - command: "libcxx/utils/ci/run-buildbot documentation" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "Legacy standalone build" - command: "libcxx/utils/ci/run-buildbot legacy-standalone" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "Unified standalone build" - command: "libcxx/utils/ci/run-buildbot unified-standalone" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - # All jobs defined before this `wait` will run whenever a CI job is started. - # Jobs defined after the `wait` will run only if all the jobs above succeeded. - # We use this to reduce the load on testers that have more constrained resources - # and avoid running builds that we know fail anyway. - - wait - - # Build with the configuration we use to generate libc++.dylib on Apple platforms - - label: "Apple system" - command: "libcxx/utils/ci/run-buildbot x86_64-apple-system" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders-macos" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "Apple system -fno-exceptions" - command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-noexceptions" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders-macos" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - # Test back-deployment to older Apple platforms - - label: "Apple back-deployment macosx10.9" - command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.9" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders-macos10.15" # TODO: For now, we're running the back-deployment tests for 10.9 on 10.15, because we don't have proper 10.9 machines - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: "Apple back-deployment macosx10.15" - command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.15" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders-macos10.15" + # # Build with the configuration we use to generate libc++.dylib on Apple platforms + # - label: "Apple system" + # command: "libcxx/utils/ci/run-buildbot x86_64-apple-system" + # artifact_paths: + # - "**/test-results.xml" + # agents: + # queue: "libcxx-builders-macos" + # retry: + # automatic: + # - exit_status: -1 # Agent was lost + # limit: 2 + # + # - label: "Apple system -fno-exceptions" + # command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-noexceptions" + # artifact_paths: + # - "**/test-results.xml" + # agents: + # queue: "libcxx-builders-macos" + # retry: + # automatic: + # - exit_status: -1 # Agent was lost + # limit: 2 + # + # # Test back-deployment to older Apple platforms + # - label: "Apple back-deployment macosx10.9" + # command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.9" + # artifact_paths: + # - "**/test-results.xml" + # agents: + # queue: "libcxx-builders-macos10.15" # TODO: For now, we're running the back-deployment tests for 10.9 on 10.15, because we don't have proper 10.9 machines + # retry: + # automatic: + # - exit_status: -1 # Agent was lost + # limit: 2 + # + # - label: "Apple back-deployment macosx10.15" + # command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.15" + # artifact_paths: + # - "**/test-results.xml" + # agents: + # queue: "libcxx-builders-macos10.15" + # retry: + # automatic: + # - exit_status: -1 # Agent was lost + # limit: 2 + + - label: "AArch64" + command: "libcxx/utils/ci/run-buildbot aarch64" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "aarch64" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: "AArch64 -fno-exceptions" + command: "libcxx/utils/ci/run-buildbot aarch64-noexceptions" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "aarch64" retry: automatic: - exit_status: -1 # Agent was lost diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -376,6 +376,18 @@ echo "+++ Running the libc++abi tests" ninja -C "${BUILD_DIR}/libcxxabi" check-cxxabi ;; +aarch64) + clean + generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" + check-cxx-cxxabi +;; +aarch64-noexceptions) + clean + generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" \ + -DLIBCXX_ENABLE_EXCEPTIONS=OFF \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF + check-cxx-cxxabi +;; *) echo "${BUILDER} is not a known configuration" exit 1