[PATCH] D142176: [libunwind] On Darwin, add a callback-based lookup scheme for JIT'd unwind info.

Lang Hames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 19 22:48:23 PST 2023


lhames added reviewers: ldionne, sgraenitz.
lhames added a comment.

I've committed the LLVM ORC and ORC runtime sides of this in 3507df9c20a4 <https://reviews.llvm.org/rG3507df9c20a4e117a27c005d7ceb5d1468378aa2>. If you check out that commit or later and then build libunwind with this patch you should be see the new registration pathway kick in on Darwin:

  % ORC_RT_DEBUG=1 llvm-jitlink -orc-runtime=/path/to/built-llvm/lib/clang/16/lib/darwin/liborc_rt_osx.a  <object file(s)>
  __unw_add/remove_find_dynamic_unwind_sections available. Using callback-based frame info lookup.
  ...

Sadly this will only work on x86-64 Macs for now as the ptrauth changes for arm64e haven't been upstreamed yet. I'm working on that, but don't have a timeline for it yet. This commit should flow into libunwind releases however, addressing https://github.com/llvm/llvm-project/issues/49036 properly (the existing released fix is unreliable) and opening a path to compact-unwind support.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142176/new/

https://reviews.llvm.org/D142176



More information about the llvm-commits mailing list