This is an archive of the discontinued LLVM Phabricator instance.

[libcxxabi][SystemZ][z/OS] Update libcxxabi/src/cxa_exception_storage.cpp to support POSIX(OFF)
AbandonedPublic

Authored by DanielMcIntosh-IBM on Nov 2 2021, 2:10 PM.

Details

Reviewers
mclow.lists
jroelofs
kledzik
ikudrin
ldionne
Group Reviewers
Restricted Project
Summary

Stop __cxa_get_globals and __cxa_get_globals_fast from using thread-local storage
when the threading API is disabled.

Also stop test_exception_storage.pass.cpp from spawning threads when the
threading API is disabled.

Depends on D110349, D113048

Diff Detail

Event Timeline

DanielMcIntosh-IBM requested review of this revision.Nov 2 2021, 2:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 2 2021, 2:10 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
DanielMcIntosh-IBM retitled this revision from [libcxx][SystemZ][z/OS] Update libcxxabi/src/cxa_exception_storage.cpp to support POSIX(OFF) to [libcxxabi][SystemZ][z/OS] Update libcxxabi/src/cxa_exception_storage.cpp to support POSIX(OFF).Nov 2 2021, 3:54 PM
DanielMcIntosh-IBM edited the summary of this revision. (Show Details)Nov 2 2021, 4:01 PM
jroelofs added inline comments.Nov 3 2021, 10:57 AM
libcxxabi/src/cxa_exception_storage.cpp
103

I think this design requires that a platform never have the ability to transition a process from disabled threads to enabled threads. Even if x/OS cannot do that (can it?), I think it's important to capture that in the documentation of __libcpp_are_threads_enabled in the other patch. Perhaps this static variable ought to be hoisted into that function's implementation too.

Address review comments

DanielMcIntosh-IBM marked an inline comment as done.Nov 4 2021, 6:53 PM

LGTM, but of course, please get a Group Reviewer's approval too.

Rebase and update intentation to match the rest of the file