This initial version is only able to parse debug maps contained
in mach-o binaries.
Apart from the general review, I'm especially interested in comments
around the build system plumbing.
Nick, the very simple DebugMap object that is present is this version
is meant to be filled with information during the binary link and
then passed to a DwarfLinker object as a separate step. Does that
look like the best flow for you, or would you prefer something more
'incremental'?
The big question around this tool is how the in-tree testing will be
performed. This revision doesn't include a test, but there will be
one in the initial commit. I plan to commit very simple small binaries
for the and then to extend that binary pool when adding new features.
Eevn if I plan to reuse the binaries as much as I can for the various
development steps, I fear that this won't scale in the long run. I'm
open to ideas. Is there some policy about storing binaries in the LLVM
repo?
The current approach has several known shortcomings even for the simple
task it performs. For example, it doesn't handle static libraries, and
it keeps all the object files open at the same time. This initial commit
just provides a base for the incremental updates that will improve that
situation.
I'd prefer binary name (llvm-dsymutil) to match the directory name. I'm not aware of existing policy, though.