-
Notifications
You must be signed in to change notification settings - Fork 31
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
Unwinding support #52
Conversation
224305c
to
58a2fb6
Compare
68df230
to
83030ac
Compare
|
d07564c
to
81fb8ec
Compare
This PR is now complete. I implemented unwinding support on all supported architectures, and even threw in ARM support as well. |
4a74db9
to
5877ec1
Compare
Why hasn't this been merged? |
@spinda Currently this breaks bare-metal usage, which is the reason to use libfringe. |
What was the problem on bare-metal? From what I understand, seems like a clever solution. I really wish this was implemented already. |
@dpc We don't have a workable unwinder for bare metal. I've gotten started writing one, but I'm short on time. |
@edef1c What? Of course we do, libunwind supports bare metal properly and I use it with libfringe. The problem is that std doesn't export enough hooks into the panic machinery, so we end up with a pretty nasty case where we reimplement half of std::panicking. |
Did you brought it up to rust devs? Any chance it work eventually? |
No. Personally I'm quite overloaded on OSS right now.
There's no inherent technical reason it can't work. |
Please someone knowledgeable enough open an issue with Rust devs and explain it briefly if that's what is blocking it. :) |
@whitequark oh, huh. I thought that was the issue we had with unwinding on bare metal. |
I rebased my PR and made unwinding an optional feature. |
@Amanieu can you open a new PR for that? I can't reopen because GitHub is dumb about rebasing while a PR is closed |
This is actually required to ensure safety. Currently the following safe code causes a segfault: https://gist.github.com/Amanieu/9f4854c096fa519f046ace876779be60
Based on top of #51