Skip to content

Commit 1262f8a

Browse files
committed
[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
1 parent c07b80c commit 1262f8a

File tree

2 files changed

+0
-22
lines changed

2 files changed

+0
-22
lines changed

libcxx/utils/ci/buildkite-pipeline.yml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -574,20 +574,6 @@ steps:
574574
limit: 2
575575
timeout_in_minutes: 120
576576

577-
# TODO: Re-enable this once issues with the Apple-specific testing config have been resolved
578-
# - label: "Apple system -fno-exceptions"
579-
# command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-noexceptions"
580-
# artifact_paths:
581-
# - "**/test-results.xml"
582-
# agents:
583-
# queue: "libcxx-builders"
584-
# os: "macos"
585-
# retry:
586-
# automatic:
587-
# - exit_status: -1 # Agent was lost
588-
# limit: 2
589-
# timeout_in_minutes: 120
590-
591577
# Test back-deployment to older Apple platforms
592578
- label: "Apple back-deployment macosx10.9"
593579
command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.9"

libcxx/utils/ci/run-buildbot

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -370,14 +370,6 @@ x86_64-apple-system)
370370
-DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in"
371371
check-runtimes
372372
;;
373-
x86_64-apple-system-noexceptions)
374-
clean
375-
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \
376-
-DLIBCXX_ENABLE_EXCEPTIONS=OFF \
377-
-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF \
378-
-DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in"
379-
check-runtimes
380-
;;
381373
x86_64-apple-system-backdeployment-*)
382374
clean
383375

0 commit comments

Comments
 (0)