This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Remove the CI job for Apple/System/Noexceptions
ClosedPublic

Authored by ldionne on Oct 7 2021, 12:56 PM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Commits
rG1262f8a64d21: [libc++] Remove the CI job for Apple/System/Noexceptions
Summary

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.

Diff Detail

Event Timeline

ldionne created this revision.Oct 7 2021, 12:56 PM
ldionne requested review of this revision.Oct 7 2021, 12:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 7 2021, 12:56 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne accepted this revision.Oct 7 2021, 2:27 PM
This revision is now accepted and ready to land.Oct 7 2021, 2:27 PM
This revision was automatically updated to reflect the committed changes.