Description
As mentioned in rust-lang/rust#34651 (comment), it would be nice if we could generate backtraces when using split debuginfo.
Locating the split debuginfo is something that is useful for all tools that consume DWARF, so I think it makes sense to implement this in another crate. In particular, I think it makes sense to implement this in the object
crate (perhaps in its SymbolMap
), because the location of the object files is specified in the symbol table entries for Mach-O (some discussion in gimli-rs/addr2line#87). I haven't investigated split DWARF for ELF yet though, so maybe that will change things.
There is also the moria
crate, but I think it is targeted at stripped debug info that has been installed in a separate location (post dsymutil), rather than the unlinked DWARF (prior to running dsymutil). Maybe we should be handling that too though?
The gimli support previously used the object
crate, but was changed to goblin
in d3fb904. Would it be okay for me to change it back to object
again? Note that git versions of object
no longer depend on goblin
, so I don't think the original reason for the change applies anymore. The reason for preferring object
rather than goblin
is because it is part of the gimli-rs
project, so it is primarily targeted at handling debug info, and many existing consumers of DWARF are already using it. Plus I'm more motivated to work on object
than goblin
:)
cc @fitzgen