Files
clang-p2996/lld/lib/ReaderWriter/ELF/Writer.h
Shankar Easwaran a96f3a3da4 [lld][InputGraph] Change the Resolver to use inputGraph
Changes :-

a) Functionality in InputGraph to insert Input elements at any position
b) Functionality in the Resolver to use nextFile
c) Move the functionality of assigning file ordinals to InputGraph
d) Changes all inputs to MemoryBuffers
e) Remove LinkerInput, InputFiles, ReaderArchive

llvm-svn: 192081
2013-10-07 02:47:09 +00:00

39 lines
1.1 KiB
C++

//===- lib/ReaderWriter/ELF/Writer.h --------------------------------------===//
//
// The LLVM Linker
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef LLD_READER_WRITER_ELF_WRITER_H
#define LLD_READER_WRITER_ELF_WRITER_H
#include "lld/Core/File.h"
#include "lld/ReaderWriter/Writer.h"
namespace lld {
namespace elf {
/// \brief The Writer class is a base class for the linker to write
/// various kinds of ELF files.
class ELFWriter : public Writer {
public:
ELFWriter() { }
public:
/// \brief builds the chunks that needs to be written to the output
/// ELF file
virtual void buildChunks(const File &file) = 0;
/// \brief Writes the chunks into the output file specified by path
virtual error_code writeFile(const File &file, StringRef path) = 0;
/// \brief Get the virtual address of \p atom after layout.
virtual uint64_t addressOfAtom(const Atom *atom) = 0;
};
} // end namespace elf
} // end namespace lld
#endif