[PATCH] [Object, llvm-objdump] allow dumping of mach-o exports trie

kledzik at apple.com kledzik at apple.com
Fri Aug 29 14:10:33 PDT 2014


Hi rafael, t.p.northover, Bigcheese,

MachOObjectFile in lib/Object currently has no support for parsing the rebase, binding, and export information from the LC_DYLD_INFO load command in final linked mach-o images.  This patch adds support for parsing the exports trie data structure.  It also adds an option to llvm-objdump to dump the exports info. 

I did the exports parsing first because it is the hardest.  The information is encoded in a trie structure, but the standard ObjectFile way to inspect content is through iterators. So I needed to make an iterator that would do a non-recursive walk through the trie and maintain the concatenation of edges needed for the current string prefix.

I plan to add similar support in MachOObjectFile and llvm-objdump to parse/display the rebasing and binding info too.

http://reviews.llvm.org/D5129

Files:
  include/llvm/Object/MachO.h
  lib/Object/MachOObjectFile.cpp
  test/tools/llvm-objdump/macho-exports-trie.test
  tools/llvm-objdump/MachODump.cpp
  tools/llvm-objdump/llvm-objdump.cpp
  tools/llvm-objdump/llvm-objdump.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5129.13104.patch
Type: text/x-patch
Size: 18321 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140829/0bdcc9d8/attachment.bin>


More information about the llvm-commits mailing list