Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upUnwinding support #52
Conversation
edef1c
force-pushed the
edef1c:master
branch
from
a2eba1c
to
c9b43e4
Sep 16, 2016
Amanieu
force-pushed the
Amanieu:unwind
branch
3 times, most recently
from
224305c
to
58a2fb6
Sep 16, 2016
edef1c
force-pushed the
edef1c:master
branch
from
dd6cf23
to
5608d2d
Sep 22, 2016
Amanieu
force-pushed the
Amanieu:unwind
branch
8 times, most recently
from
68df230
to
83030ac
Sep 25, 2016
Amanieu
changed the base branch from
master
to
next-major
Sep 29, 2016
Amanieu
changed the base branch from
next-major
to
master
Sep 29, 2016
Amanieu
force-pushed the
Amanieu:unwind
branch
from
83030ac
to
09c44bd
Oct 2, 2016
Amanieu
referenced this pull request
Oct 24, 2016
Open
Releasing owned resources on Generator drop #57
This comment has been minimized.
This comment has been minimized.
dpc
commented
Oct 31, 2016
•
|
|
Amanieu
referenced this pull request
Nov 1, 2016
Closed
Set the stack pointer to zero once the context function returns #51
Amanieu
force-pushed the
Amanieu:unwind
branch
from
09c44bd
to
5c0a00b
Nov 1, 2016
Amanieu
added some commits
Sep 14, 2016
Amanieu
force-pushed the
Amanieu:unwind
branch
3 times, most recently
from
d07564c
to
81fb8ec
Nov 2, 2016
Amanieu
changed the title
WIP unwinding support
Unwinding support
Nov 2, 2016
This comment has been minimized.
This comment has been minimized.
|
This PR is now complete. I implemented unwinding support on all supported architectures, and even threw in ARM support as well. |
Amanieu
force-pushed the
Amanieu:unwind
branch
2 times, most recently
from
4a74db9
to
5877ec1
Nov 3, 2016
Amanieu
force-pushed the
Amanieu:unwind
branch
from
5877ec1
to
7d8a427
Nov 14, 2016
This comment has been minimized.
This comment has been minimized.
spinda
commented
Dec 2, 2016
|
Why hasn't this been merged? |
This comment has been minimized.
This comment has been minimized.
|
@spinda Currently this breaks bare-metal usage, which is the reason to use libfringe. |
edef1c
closed this
Feb 25, 2017
This comment has been minimized.
This comment has been minimized.
dpc
commented
Mar 22, 2017
•
|
What was the problem on bare-metal? From what I understand, seems like a clever solution. I really wish this was implemented already. |
This comment has been minimized.
This comment has been minimized.
|
@dpc We don't have a workable unwinder for bare metal. I've gotten started writing one, but I'm short on time. |
This comment has been minimized.
This comment has been minimized.
|
@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. |
This comment has been minimized.
This comment has been minimized.
dpc
commented
Mar 22, 2017
|
Did you brought it up to rust devs? Any chance it work eventually? |
This comment has been minimized.
This comment has been minimized.
No. Personally I'm quite overloaded on OSS right now.
There's no inherent technical reason it can't work. |
This comment has been minimized.
This comment has been minimized.
dpc
commented
Mar 22, 2017
|
Please someone knowledgeable enough open an issue with Rust devs and explain it briefly if that's what is blocking it. :) |
This comment has been minimized.
This comment has been minimized.
|
@whitequark oh, huh. I thought that was the issue we had with unwinding on bare metal. |
This comment has been minimized.
This comment has been minimized.
|
I rebased my PR and made unwinding an optional feature. |
This comment has been minimized.
This comment has been minimized.
|
@Amanieu can you open a new PR for that? I can't reopen because GitHub is dumb about rebasing while a PR is closed |
Amanieu commentedSep 16, 2016
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