forked from OSchip/llvm-project
parent
edf782f0d0
commit
85593c2398
|
@ -0,0 +1,11 @@
|
||||||
|
# RUN: yaml2obj %s > %t
|
||||||
|
# RUN: not llvm-objcopy %t no/such/dir 2>&1 | FileCheck %s
|
||||||
|
# CHECK: failed to open no/such/dir
|
||||||
|
|
||||||
|
!ELF
|
||||||
|
FileHeader:
|
||||||
|
Class: ELFCLASS64
|
||||||
|
Data: ELFDATA2LSB
|
||||||
|
Type: ET_EXEC
|
||||||
|
Machine: EM_X86_64
|
||||||
|
|
|
@ -116,10 +116,11 @@ void WriteObjectFile(const Object<ELFT> &Obj, StringRef File) {
|
||||||
Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
|
Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
|
||||||
FileOutputBuffer::create(File, Obj.totalSize(),
|
FileOutputBuffer::create(File, Obj.totalSize(),
|
||||||
FileOutputBuffer::F_executable);
|
FileOutputBuffer::F_executable);
|
||||||
if (BufferOrErr.takeError())
|
handleAllErrors(BufferOrErr.takeError(), [](const ErrorInfoBase &) {
|
||||||
error("failed to open " + OutputFilename);
|
error("failed to open " + OutputFilename);
|
||||||
else
|
});
|
||||||
Buffer = std::move(*BufferOrErr);
|
Buffer = std::move(*BufferOrErr);
|
||||||
|
|
||||||
Obj.write(*Buffer);
|
Obj.write(*Buffer);
|
||||||
if (auto E = Buffer->commit())
|
if (auto E = Buffer->commit())
|
||||||
reportError(File, errorToErrorCode(std::move(E)));
|
reportError(File, errorToErrorCode(std::move(E)));
|
||||||
|
|
Loading…
Reference in New Issue