So, with that out of the way, the answers to my top of thread questions:
- Savannah/HP libunwind and Clang/LLVM libunwind are C/C++ source compatible. The developer-facing function interfaces are the same.
- However, the *set of exported symbols in the libraries* are totally different. C/C++ source compatibility is only possible because both(?) libraries implement the functions as macros.
- Therefore, if you access these libraries from a non C language like Rust, they're fully incompatible.