This is an archive of the discontinued LLVM Phabricator instance.

[libunwind] [SEH] Handle ExceptionContinueExecution in forced unwinding
ClosedPublic

Authored by mstorsjo on Apr 6 2023, 1:50 PM.

Details

Summary

This fixes the libcxxabi test force_unwind3.pass.cpp when run on native
Windows.

When unwinding past the main thread function into the system functions
that brought up the thread, we can hit functions whose personality
functions return ExceptionContinueExecution (instead of the regular
ExceptionContinueSearch). Interpret this as a signal to stop the
unwind.

Curiously, in this case, it does return ExceptionContinueSearch if
running within a debugger.

Diff Detail

Event Timeline

mstorsjo created this revision.Apr 6 2023, 1:50 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 6 2023, 1:50 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
mstorsjo requested review of this revision.Apr 6 2023, 1:50 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 6 2023, 1:50 PM
cdavis5x accepted this revision.Apr 7 2023, 2:27 PM
phosek accepted this revision.Apr 7 2023, 3:41 PM
phosek added a subscriber: phosek.

LGTM

This revision is now accepted and ready to land.Apr 7 2023, 3:41 PM
This revision was landed with ongoing or failed builds.Apr 10 2023, 2:03 PM
This revision was automatically updated to reflect the committed changes.