1
1
mirror of https://github.com/rui314/mold.git synced 2025-01-06 07:58:34 +03:00
mold/output_file.cc

22 lines
594 B
C++
Raw Normal View History

2020-10-20 08:54:35 +03:00
#include "mold.h"
2020-10-14 13:43:12 +03:00
using namespace llvm;
using namespace llvm::ELF;
using llvm::object::ELF64LE;
OutputFile::OutputFile(u64 size) {
2020-10-14 13:43:12 +03:00
Expected<std::unique_ptr<FileOutputBuffer>> bufOrErr =
FileOutputBuffer::create(config.output, size, 0);
if (!bufOrErr)
error("failed to open " + config.output + ": " +
llvm::toString(bufOrErr.takeError()));
output_buffer = std::move(*bufOrErr);
buf = output_buffer->getBufferStart();
}
void OutputFile::commit() {
if (auto e = output_buffer->commit())
error("failed to write to the output file: " + toString(std::move(e)));
}