aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/Binary.cpp
diff options
context:
space:
mode:
authorAdrien Guinet <adrien@guinet.me>2020-08-25 18:55:50 -0700
committerAlexander Shaposhnikov <alexshap@fb.com>2020-08-25 21:11:18 -0700
commitc6f7ac0071a1849a9f8046e2045e1631e224f1bd (patch)
treecd4aa552f708b99d74cb82bb7b8bdd1382332f62 /llvm/lib/Object/Binary.cpp
parentb1e856d3a9019c355baa186075699d95be7b2735 (diff)
downloadllvm-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.cpp5
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();