[PATCH] [dsymutil] Implement the BinaryHolder object and gain archive support.

Frederic Riss friss at apple.com
Tue Dec 16 13:03:43 PST 2014


Hi samsonov, dblaikie,

This object is meant to own the ObjectFiles and their underlying
MemoryBuffer. It is basically the equivalent of an OwningBinary
except that it efficiently handles Archives. It is optimized for
efficiently providing mappings of members of the same archive when
they are opened successively (which is standard in Darwin debug
maps, objects from the same archive will be contiguous).

Of course, the BinaryHolder will also be used by the DWARF linker
once it is commited, but for now only the debug map parser uses it.

With this change, you can run llvm-dsymutil on your Darwin debug build
of clang and get a complete debug map for it.


A more 'process' related question to my beloved reviewers: I expect most
code drops of new functionality to the dsymutil tool to be medium sized
patches like this one. I would expect it is OK for me do proceed with this
things doing post-commit review, but I don't want to break any rule like
I did for the initial commit. Opinions?

http://reviews.llvm.org/D6690

Files:
  test/tools/dsymutil/Inputs/basic-archive.macho.x86_64
  test/tools/dsymutil/Inputs/basic1.c
  test/tools/dsymutil/Inputs/libbasic.a
  test/tools/dsymutil/debug-map-parsing.test
  tools/dsymutil/BinaryHolder.cpp
  tools/dsymutil/BinaryHolder.h
  tools/dsymutil/CMakeLists.txt
  tools/dsymutil/MachODebugMapParser.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6690.17357.patch
Type: text/x-patch
Size: 17667 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141216/3581c46e/attachment.bin>


More information about the llvm-commits mailing list