diff --git a/libcxx/cmake/caches/Armv7.cmake b/libcxx/cmake/caches/Armv7.cmake new file mode 100644 --- /dev/null +++ b/libcxx/cmake/caches/Armv7.cmake @@ -0,0 +1,2 @@ +set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") +set(LIBCXX_TARGET_TRIPLE "armv7-linux-gnueabihf" CACHE STRING "") diff --git a/libcxx/cmake/caches/Armv8.cmake b/libcxx/cmake/caches/Armv8.cmake new file mode 100644 --- /dev/null +++ b/libcxx/cmake/caches/Armv8.cmake @@ -0,0 +1,2 @@ +set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") +set(LIBCXX_TARGET_TRIPLE "armv8-linux-gnueabihf" 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 @@ -355,3 +355,51 @@ automatic: - exit_status: -1 # Agent was lost limit: 2 + + - label: "Armv8" + command: "libcxx/utils/ci/run-buildbot armv8" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: "Armv8 -fno-exceptions" + command: "libcxx/utils/ci/run-buildbot armv8-noexceptions" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: "Armv7" + command: "libcxx/utils/ci/run-buildbot armv7" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" # Compiling for v7, running on v8 hardware + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: "Armv7 -fno-exceptions" + command: "libcxx/utils/ci/run-buildbot armv7-noexceptions" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" # Compiling for v7, running on v8 hardware + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 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 @@ -399,6 +399,40 @@ -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF check-cxx-cxxabi ;; +# Aka Armv8 32 bit +armv8) + clean + generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv8.cmake" \ + -DCMAKE_CXX_FLAGS="-marm" \ + -DCMAKE_C_FLAGS="-marm" + check-cxx-cxxabi +;; +armv8-noexceptions) + clean + generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv8.cmake" \ + -DCMAKE_CXX_FLAGS="-mthumb" \ + -DCMAKE_C_FLAGS="-mthumb" \ + -DLIBCXX_ENABLE_EXCEPTIONS=OFF \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF + check-cxx-cxxabi +;; +# Armv7 32 bit. One building Arm only one Thumb only code. +armv7) + clean + generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv7.cmake" \ + -DCMAKE_CXX_FLAGS="-marm" \ + -DCMAKE_C_FLAGS="-marm" + check-cxx-cxxabi +;; +armv7-noexceptions) + clean + generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv7.cmake" \ + -DCMAKE_CXX_FLAGS="-mthumb" \ + -DCMAKE_C_FLAGS="-mthumb" \ + -DLIBCXX_ENABLE_EXCEPTIONS=OFF \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF + check-cxx-cxxabi +;; *) echo "${BUILDER} is not a known configuration" exit 1