diff options
Diffstat (limited to 'lib/ReaderWriter/ELF/Layout.h')
| -rw-r--r-- | lib/ReaderWriter/ELF/Layout.h | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/lib/ReaderWriter/ELF/Layout.h b/lib/ReaderWriter/ELF/Layout.h deleted file mode 100644 index 826cf5035d59..000000000000 --- a/lib/ReaderWriter/ELF/Layout.h +++ /dev/null @@ -1,59 +0,0 @@ -//===- lib/ReaderWriter/ELF/Layout.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_LAYOUT_H -#define LLD_READER_WRITER_ELF_LAYOUT_H - -#include "lld/Core/DefinedAtom.h" -#include "lld/ReaderWriter/AtomLayout.h" -#include "llvm/ADT/StringRef.h" -#include "llvm/Object/ELF.h" -#include "llvm/Support/Allocator.h" -#include "llvm/Support/Debug.h" -#include "llvm/Support/ELF.h" -#include "llvm/Support/ErrorOr.h" - -namespace lld { -namespace elf { - -/// \brief The ELFLayout is an abstract class for managing the final layout for -/// the kind of binaries(Shared Libraries / Relocatables / Executables 0 -/// Each architecture (Hexagon, MIPS) would have a concrete -/// subclass derived from Layout for generating each binary thats -// needed by the lld linker -class Layout { -public: - typedef uint32_t SectionOrder; - typedef uint32_t SegmentType; - typedef uint32_t Flags; - -public: - /// Return the order the section would appear in the output file - virtual SectionOrder getSectionOrder(StringRef name, int32_t contentType, - int32_t contentPerm) = 0; - /// \brief Append the Atom to the layout and create appropriate sections. - /// \returns A reference to the atom layout or an error. The atom layout will - /// be updated as linking progresses. - virtual ErrorOr<const lld::AtomLayout *> addAtom(const Atom *atom) = 0; - /// find the Atom in the current layout - virtual const AtomLayout *findAtomLayoutByName(StringRef name) const = 0; - /// associates a section to a segment - virtual void assignSectionsToSegments() = 0; - /// associates a virtual address to the segment, section, and the atom - virtual void assignVirtualAddress() = 0; - -public: - Layout() {} - - virtual ~Layout() { } -}; -} // end namespace elf -} // end namespace lld - -#endif |
