This is an archive of the discontinued LLVM Phabricator instance.

[VE] Support VE in libunwind
ClosedPublic

Authored by kaz7 on Jan 13 2021, 4:47 AM.

Details

Summary

Modify libunwind to support SjLj exception handling routines for VE.
In order to do that, we need to implement not only SjLj exception
handling routines but also a Registers_ve class. This implementation
of Registers_ve is incomplete. We will work on it later when we need
backtrace in libunwind.

Diff Detail

Event Timeline

kaz7 created this revision.Jan 13 2021, 4:47 AM
Herald added a reviewer: Restricted Project. · View Herald TranscriptJan 13 2021, 4:47 AM
kaz7 requested review of this revision.Jan 13 2021, 4:47 AM
compnerd accepted this revision.Jan 13 2021, 8:32 AM
compnerd added a subscriber: compnerd.
compnerd added inline comments.
libunwind/src/Unwind-sjlj.c
41

If you are guaranteed to require 64-bits, I think that it would be better to use uint64_t rather than uintptr_t which is pointer-width sized. That is subtly different, even if in practice it means that it will be 64-bit currently. Alternatively, changing the comment is entirely reasonable to do as well.

This revision is now accepted and ready to land.Jan 13 2021, 8:32 AM
kaz7 added inline comments.Jan 13 2021, 11:30 PM
libunwind/src/Unwind-sjlj.c
41

Thank you. I'll change it to uint64_t.

kaz7 updated this revision to Diff 316578.Jan 14 2021, 12:02 AM

Update following suggestions and clang-format.

lenary resigned from this revision.Jan 14 2021, 11:42 AM
This revision was landed with ongoing or failed builds.Jan 16 2021, 10:35 PM
This revision was automatically updated to reflect the committed changes.