This is an archive of the discontinued LLVM Phabricator instance.

[libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn.
ClosedPublic

Authored by danielkiss on Apr 27 2022, 5:22 AM.

Details

Reviewers
manojgupta
cjdb
rprichard
MaskRay
Group Reviewers
Restricted Project
Restricted Project
Commits
rGf326df34bc17: [libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn.
Summary

When the sigreturn trampoline is found the unw_proc_info_t.end_ip need to be set to
indicate a stack frame is found.

Diff Detail

Event Timeline

danielkiss created this revision.Apr 27 2022, 5:22 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 27 2022, 5:22 AM
danielkiss requested review of this revision.Apr 27 2022, 5:22 AM

Thanks, this also fixes one of the test failures we were seeing on AArch64 boards.

cjdb accepted this revision.Apr 27 2022, 8:46 AM

Thanks!

This revision is now accepted and ready to land.Apr 27 2022, 8:46 AM
MaskRay added inline comments.
libcxxabi/test/forced_unwind4.pass.cpp
13

This applies to glibc but not musl.

32

Use a condition variable to avoid the race?

danielkiss marked 2 inline comments as done.
MaskRay accepted this revision.Apr 28 2022, 12:47 AM

LGTM.

libcxxabi/test/forced_unwind4.pass.cpp
46

delete braces

danielkiss marked an inline comment as done.
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 28 2022, 9:42 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
rprichard added inline comments.Apr 28 2022, 4:15 PM
libcxxabi/test/forced_unwind4.pass.cpp
13

Also: Bionic doesn't have pthread_cancel. Maybe this test will have to be disabled for Android/Bionic.

danielkiss marked an inline comment as done.Apr 29 2022, 12:47 AM
danielkiss added inline comments.
rprichard added inline comments.Apr 29 2022, 3:51 PM
libcxxabi/test/forced_unwind4.pass.cpp
13

Thanks!