[libcxx-commits] [PATCH] D111863: [libunwind] Add an interface for dynamic .eh_frame registration

Lang Hames via Phabricator via libcxx-commits libcxx-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 libcxx-commits mailing list