-
Notifications
You must be signed in to change notification settings - Fork 509
Use LLVM libunwind for stack unwinding on Unix #2293
Conversation
There is something strange going on. I can build it on my OSX / Linux devices, but the CI build has failed. I have to investigate. |
7cc3eaa
to
60f4ebf
Compare
I would be nice to have the libunwind sources in a commit that has nothing but the libunwind sources in it, set the author of the commit to |
The first commit is just that - only the author and stamp are not that way. Let me see if I can modify it that way. |
60f4ebf
to
407f544
Compare
@jkotas I've modified the first commit that way. |
It also has changes to integrate it into the corert build system and PAL. It would be nice to separate those out in a different commit. |
Hmm, I was sure I have separated that. Sigh. |
We should be able to remove |
Good point |
407f544
to
ca2ab24
Compare
Fetched from https://github.com/llvm-mirror/libunwind master branch as of commit 1041783b9f43ede983fbca7e41aaf3300286fcd7
This change replaces external libunwind usage on Unix by a copy of the LLVM libunwind. It also modifies libunwind to support reporting register location and implements the unw_get_save_loc API to get this location. For now, only memory locations are supported (register locations are not).
ca2ab24
to
c6571c6
Compare
@jkotas I have moved stuff between commits using some git magic, so now the first commit should be pure import of the LLVM libunwind. |
I've also updated the prereq doc. |
Could you please also get in touch with llvm libunwind maintainers whether they would be open to upstreaming the change you made? |
#2166 can be reverted with this change. |
Actually, I have done in in #2294. It is taken care of either way. |
This change replaces external libunwind usage on Unix (including OSX) by a copy of the LLVM libunwind.
It also modifies libunwind to support reporting register location and implements
the unw_get_save_loc API to get this location.
For now, only memory locations are supported (register locations are not).
The support for register locations was added to x86, x64, arm and arm64. The OpenRISC and
PPC code was not modified.