[libcxx-commits] [libcxx] 1262f8a - [libc++] Remove the CI job for Apple/System/Noexceptions
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Oct 7 14:27:34 PDT 2021
Author: Louis Dionne
Date: 2021-10-07T17:27:24-04:00
New Revision: 1262f8a64d21ca0cfca81b2039809d14ae4691bc
URL: https://github.com/llvm/llvm-project/commit/1262f8a64d21ca0cfca81b2039809d14ae4691bc
DIFF: https://github.com/llvm/llvm-project/commit/1262f8a64d21ca0cfca81b2039809d14ae4691bc.diff
LOG: [libc++] Remove the CI job for Apple/System/Noexceptions
When we recently started using DYLD_LIBRARY_PATH to run the test suite
on the Apple/System configuration of the library, the -fno-exceptions
variant started failing.
It started failing because under that configuration, libc++abi.dylib
doesn't provide support for exceptions. For example, it doesn't provide
some symbols such as ___gxx_personality_v0. Now, the problem is that
when the test suite is run with DYLD_LIBRARY_PATH, /usr/lib/libobjc.dylib
uses the just-built libc++abi.dylib, which doesn't support exceptions,
and we end up with an unresolved reference to ___gxx_personality_v0.
Previously, using -Wl,-rpath,path/to/lib, we would be loading both
/usr/lib/libc++abi.dylib and <just-built>/lib/libc++abi.dylib.
/usr/lib/libobjc.dylib would use the system libc++abi.dylib, which
contains support for exceptions, and the tests would be using the
just-built one, which doesn't.
Disentangling that led me to believe that we shouldn't try to test this
configuration where libc++/libc++abi are built as system libraries, but
where they don't support exceptions, since that just doesn't make any
sense. Doing so is like trying to build libc++/libc++abi and test it as
a system library after performing an ABI break -- of course nothing is
going to work.
For that reason, I am removing this configuration. Note that we could
still test the library on macOS without exceptions if we wanted, only
we wouldn't be building it as a system library. This patch doesn't add
that because we already have a -fno-exceptions CI job on Linux.
Differential Revision: https://reviews.llvm.org/D111349
Added:
Modified:
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot
Removed:
################################################################################
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 1044030df043..31e88ed5d543 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -574,20 +574,6 @@ steps:
limit: 2
timeout_in_minutes: 120
- # TODO: Re-enable this once issues with the Apple-specific testing config have been resolved
- # - 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"
- # os: "macos"
- # retry:
- # automatic:
- # - exit_status: -1 # Agent was lost
- # limit: 2
- # timeout_in_minutes: 120
-
# 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"
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 08c67567805b..2ddfa1282296 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -370,14 +370,6 @@ x86_64-apple-system)
-DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in"
check-runtimes
;;
-x86_64-apple-system-noexceptions)
- clean
- generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \
- -DLIBCXX_ENABLE_EXCEPTIONS=OFF \
- -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF \
- -DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in"
- check-runtimes
-;;
x86_64-apple-system-backdeployment-*)
clean
More information about the libcxx-commits
mailing list