//===- lib/ReaderWriter/ELF/X86/X86ExecutableWriter.h ---------------------===// // // The LLVM Linker // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef X86_X86_EXECUTABLE_WRITER_H #define X86_X86_EXECUTABLE_WRITER_H #include "ExecutableWriter.h" #include "X86LinkingContext.h" namespace lld { namespace elf { template class X86ExecutableWriter : public ExecutableWriter { public: X86ExecutableWriter(X86LinkingContext &context, X86TargetLayout &layout); protected: // Add any runtime files and their atoms to the output virtual bool createImplicitFiles(std::vector> &); virtual void finalizeDefaultAtomValues() { return ExecutableWriter::finalizeDefaultAtomValues(); } virtual void addDefaultAtoms() { return ExecutableWriter::addDefaultAtoms(); } private: X86LinkingContext &_context; X86TargetLayout &_x86Layout; }; template X86ExecutableWriter::X86ExecutableWriter(X86LinkingContext &context, X86TargetLayout &layout) : ExecutableWriter(context, layout), _context(context), _x86Layout(layout) {} template bool X86ExecutableWriter::createImplicitFiles( std::vector> &result) { ExecutableWriter::createImplicitFiles(result); return true; } } // namespace elf } // namespace lld #endif