-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
c18n, libgcc_s: Support a c18n-aware libunwind. #2032
Conversation
Update the diff to more closely match the semantics of what we have in the |
Removed an unused argument in |
04f1319
to
2a35164
Compare
Update to cherry-pick a different commit from @dpgao and improve the workaround for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like the weak symbols don't get replaced in that case (running on top of rtld-c18n):
|
c6d09e6
to
b9424e6
Compare
Fix a conflict with ubiq-c18n |
Update to address @dpgao's comments. |
7fdfafa
to
390c43f
Compare
This commit implements the functionality necessary to support exception handling for libunwind. Additionally, it adds a new otype which is reserved for the unwinding library to use.
These 2 commits are bundled together with CTSRD-CHERI/llvm-project#731 into #2003 for easy testing. There is currently a lot of code duplication across
longjmp
, resume and unsealed resume, and I'm not too sure how to eliminate it since we're in a context where we can't perform a function call, so any function would have to be always inlined (while the compiler supports this, I'm not sure if it's good practice here?). I also wanted to avoid making too much of it a macro so that debugging of these functions doesn't become painful.