Is there any pure-Rust solution for libgcc_s.so in libunwind?

https://github.com/main-- (perhaps this is @main?) and I have been talking about collaborating on a pure-Rust stack walker and unwinder (discussion here: https://github.com/gimli-rs/gimli/issues/248)

We have a bunch of infrastructural pieces in place already:

  • gimli can already parse .eh_frame sections and evaluate the unwinding info.

  • findshlibs is a wrapper over dl_iterate_phdr on Linux and dyld APIs on macos. It let’s you find the already-mapped-in-memory .eh_frame section for each shared library and executable, so it doesn’t need to be re-mapped.

We’re still not very far with the actual stack walking and unwinding built on top of that infrastructure. Part of what we need to do is create a canonical repo and merge our two separate efforts we each previously started.

If anyone else would like to help out, let me know! :slight_smile: This is currently moving fairly slowly, at a rare-block-of-free-time pace. Another contributor or two could help speed it up :wink:

2 Likes