diff options
author | Adrien Guinet <adrien@guinet.me> | 2020-08-25 18:55:50 -0700 |
---|---|---|
committer | Alexander Shaposhnikov <alexshap@fb.com> | 2020-08-25 21:11:18 -0700 |
commit | c6f7ac0071a1849a9f8046e2045e1631e224f1bd (patch) | |
tree | cd4aa552f708b99d74cb82bb7b8bdd1382332f62 /llvm/lib/Object/Binary.cpp | |
parent | b1e856d3a9019c355baa186075699d95be7b2735 (diff) | |
download | llvm-c6f7ac0071a1849a9f8046e2045e1631e224f1bd.zip llvm-c6f7ac0071a1849a9f8046e2045e1631e224f1bd.tar.gz llvm-c6f7ac0071a1849a9f8046e2045e1631e224f1bd.tar.bz2 |
[llvm-lipo] Add support for bitcode files
A Mach-O universal binary may contain bitcode as a slice.
This diff adds proper handling of such binaries to llvm-lipo.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D85740
Diffstat (limited to 'llvm/lib/Object/Binary.cpp')
-rw-r--r-- | llvm/lib/Object/Binary.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Object/Binary.cpp b/llvm/lib/Object/Binary.cpp index 944d2bc..384df4b 100644 --- a/llvm/lib/Object/Binary.cpp +++ b/llvm/lib/Object/Binary.cpp @@ -93,7 +93,8 @@ Expected<std::unique_ptr<Binary>> object::createBinary(MemoryBufferRef Buffer, llvm_unreachable("Unexpected Binary File Type"); } -Expected<OwningBinary<Binary>> object::createBinary(StringRef Path) { +Expected<OwningBinary<Binary>> object::createBinary(StringRef Path, + LLVMContext *Context) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = MemoryBuffer::getFileOrSTDIN(Path, /*FileSize=*/-1, /*RequiresNullTerminator=*/false); @@ -102,7 +103,7 @@ Expected<OwningBinary<Binary>> object::createBinary(StringRef Path) { std::unique_ptr<MemoryBuffer> &Buffer = FileOrErr.get(); Expected<std::unique_ptr<Binary>> BinOrErr = - createBinary(Buffer->getMemBufferRef()); + createBinary(Buffer->getMemBufferRef(), Context); if (!BinOrErr) return BinOrErr.takeError(); std::unique_ptr<Binary> &Bin = BinOrErr.get(); |