Add a feature to symbolicate with gimli-rs/addr2line
#65
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit adds a new feature, "gimli", which enables symbolicating addresses into file/line/function information using the
gimli-rs/addr2line
crate. Unwinding is still performed withlibunwind
.This is currently Linux only. We could enable this for macOS as well if we had a way to find the dSYM bundle for a given shared library or executable file. That involves looking for the LC_UUID load command in the mach-o file, and then using spotlight APIs to find the corresponding bundle containing the DWARF debug infos.
At least on Linux, this is one less C dependency. RIIR!!
Note: we are waiting on one more bug fix before publishing a new release of
addr2line
to crates.io, so the Cargo.toml file has local path dependencies temporarily. Once we publish a new release, I'll fix that. I figure review can commence, nonetheless, as I don't expect any APIs to change.r? @alexcrichton
cc @philipc @jonhoo @tromey