Use llvm/Object/MachO.h in macho-dumper. Drop the old macho parser.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 26 Apr 2013 20:07:33 +0000 (20:07 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 26 Apr 2013 20:07:33 +0000 (20:07 +0000)
commit2173e1839c2d00f7f980450dd537047b7b376e6b
tree88a1b23ce0c311290c8aae04f3b4cc7d21cec65f
parentfbb2c7adc23b20141c5f78bbee07ae22028473a7
Use llvm/Object/MachO.h in macho-dumper. Drop the old macho parser.

For Mach-O there were 2 implementations for parsing object files. A
standalone llvm/Object/MachOObject.h and llvm/Object/MachO.h which
implements the generic interface in llvm/Object/ObjectFile.h.

This patch adds the missing features to MachO.h, moves macho-dump to
use MachO.h and removes ObjectFile.h.

In addition to making sure that check-all is clean, I checked that the
new version produces exactly the same output in all Mach-O files in a
llvm+clang build directory (including executables and shared
libraries).

To test the performance, I ran macho-dump over all the files in a
llvm+clang build directory again, but this time redirecting the output
to /dev/null. Both the old and new versions take about 4.6 seconds
(2.5 user) to finish.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180624 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/InMemoryStruct.h [deleted file]
include/llvm/Object/MachO.h
include/llvm/Object/MachOObject.h [deleted file]
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
lib/Object/CMakeLists.txt
lib/Object/MachOObject.cpp [deleted file]
lib/Object/MachOObjectFile.cpp
tools/llvm-rtdyld/llvm-rtdyld.cpp
tools/macho-dump/macho-dump.cpp