[PATCH] D111863: [libunwind] Add an interface for dynamic .eh_frame registration
Lang Hames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 3 20:25:36 PDT 2021
lhames added a comment.
In D111863#3071356 <https://reviews.llvm.org/D111863#3071356>, @steven_wu wrote:
> In D111863#3071328 <https://reviews.llvm.org/D111863#3071328>, @housel wrote:
>
>> In D111863#3069279 <https://reviews.llvm.org/D111863#3069279>, @lhames wrote:
>>
>>> I think the ORC runtime provides a much more natural way to test this. Did you manage to come up with some ORC-runtime based tests in the end?
>>
>> My current plan is to automate what I've been doing manually, namely running a test of C++ exception handling using `llvm-jitlink`, both with the default configuration (using libgcc-provided unwinding), and with libunwind `LD_PRELOAD`ed to force it as the unwinding provider.
>
> @lhames The other possibility is to lift JIT runtime to top level in llvm-project so it can link libunwind into its runtime so you don't need to:
>
> - Create a public API in libunwind to support JIT
> - Worry about deploying a compatible libunwind together with JIT (or worry about back-deploy)
> - You can write all the tests in ORCJIT context.
@steven_wu I missed this earlier, sorry!
> so it can link libunwind into its runtime
I don't follow this. Are you suggesting that the ORC runtime would link in portions of libunwind? I don't think that'd give us the behavior that we want -- we need frames to be registered with the processes copy of libunwind so that unwinding is consistent across JIT and AOT-compiled code.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111863/new/
https://reviews.llvm.org/D111863
More information about the llvm-commits
mailing list