[dsymutil] Implement support for handling mach-o universal binaries as main input...
authorFrederic Riss <friss@apple.com>
Wed, 5 Aug 2015 18:27:44 +0000 (18:27 +0000)
committerFrederic Riss <friss@apple.com>
Wed, 5 Aug 2015 18:27:44 +0000 (18:27 +0000)
commit7a4257861d14c0fa18aeb6e6dd48df681f68f6d2
tree48725d2f5ca1bb63b394fe4585a5dd88a297eb6a
parentd2fb7bd3d59c761b7d8cf8eb71b41eec9c12d2e5
[dsymutil] Implement support for handling mach-o universal binaries as main input/output.

The DWARF linker isn't touched by this, the implementation links
individual files and merges them together into a fat binary by
calling out to the 'lipo' utility.

The main change is that the MachODebugMapParser can now return
multiple debug maps for a single binary.

The test just verifies that lipo would be invoked correctly, but
doesn't actually generate a binary. This mimics the way clang
tests its external iplatform tools integration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244087 91177308-0d34-0410-b5e6-96231b3b80d8
test/tools/dsymutil/Inputs/fat-test.dylib [new file with mode: 0755]
test/tools/dsymutil/fat-binary-output.test [new file with mode: 0644]
tools/dsymutil/CMakeLists.txt
tools/dsymutil/DebugMap.cpp
tools/dsymutil/DebugMap.h
tools/dsymutil/MachODebugMapParser.cpp
tools/dsymutil/MachOUtils.cpp [new file with mode: 0644]
tools/dsymutil/MachOUtils.h [new file with mode: 0644]
tools/dsymutil/dsymutil.cpp
tools/dsymutil/dsymutil.h