diff options
author | Petr Hosek <phosek@chromium.org> | 2017-08-01 05:31:50 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2017-08-01 05:31:50 +0000 |
commit | 35fdbd56b7765e2329ca1edfe48ded65029e53bf (patch) | |
tree | 0eaca1f93eeb1a1fc605c05f483d6348204b9e0f /llvm/tools/llvm-objcopy/llvm-objcopy.cpp | |
parent | 43cd2ef49c843c0478569dfdb375d7c30ad0012a (diff) | |
download | bcm5719-llvm-35fdbd56b7765e2329ca1edfe48ded65029e53bf.tar.gz bcm5719-llvm-35fdbd56b7765e2329ca1edfe48ded65029e53bf.zip |
Revert "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
The change seems to be failing on bots which are using gcc and bfd.ld
as a host compiler and linker.
This reverts commit r309658.
llvm-svn: 309660
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
-rw-r--r-- | llvm/tools/llvm-objcopy/llvm-objcopy.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp index 9b233951b8d..09edc4c3327 100644 --- a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp +++ b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp @@ -53,23 +53,13 @@ LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, llvm::Error E) { cl::opt<std::string> InputFilename(cl::Positional, cl::desc("<input>")); cl::opt<std::string> OutputFilename(cl::Positional, cl::desc("<output>"), cl::init("-")); -cl::opt<std::string> - OutputFormat("O", cl::desc("set output format to one of the following:" - "\n\tbinary")); void CopyBinary(const ELFObjectFile<ELF64LE> &ObjFile) { std::unique_ptr<FileOutputBuffer> Buffer; - std::unique_ptr<Object<ELF64LE>> Obj; - if (!OutputFormat.empty() && OutputFormat != "binary") - error("invalid output format '" + OutputFormat + "'"); - - if (!OutputFormat.empty() && OutputFormat == "binary") - Obj = llvm::make_unique<BinaryObject<ELF64LE>>(ObjFile); - else - Obj = llvm::make_unique<ELFObject<ELF64LE>>(ObjFile); - Obj->finalize(); + Object<ELF64LE> Obj{ObjFile}; + Obj.finalize(); ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr = - FileOutputBuffer::create(OutputFilename, Obj->totalSize(), + FileOutputBuffer::create(OutputFilename, Obj.totalSize(), FileOutputBuffer::F_executable); if (BufferOrErr.getError()) error("failed to open " + OutputFilename); @@ -78,7 +68,7 @@ void CopyBinary(const ELFObjectFile<ELF64LE> &ObjFile) { std::error_code EC; if (EC) report_fatal_error(EC.message()); - Obj->write(*Buffer); + Obj.write(*Buffer); if (auto EC = Buffer->commit()) reportError(OutputFilename, EC); } |