diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-03-24 21:31:36 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-03-24 21:31:36 +0000 |
commit | fb911942f1434f3d1750f83f25f5e42c80e60638 (patch) | |
tree | 1678c4a4f0182e4029a86d135aa4a1b7d09e3c41 /lib/ReaderWriter/ELF/DefaultTargetHandler.h |
Notes
Diffstat (limited to 'lib/ReaderWriter/ELF/DefaultTargetHandler.h')
-rw-r--r-- | lib/ReaderWriter/ELF/DefaultTargetHandler.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/ReaderWriter/ELF/DefaultTargetHandler.h b/lib/ReaderWriter/ELF/DefaultTargetHandler.h new file mode 100644 index 000000000000..16668f2df618 --- /dev/null +++ b/lib/ReaderWriter/ELF/DefaultTargetHandler.h @@ -0,0 +1,38 @@ +//===- lib/ReaderWriter/ELF/DefaultTargetHandler.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_DEFAULT_TARGET_HANDLER_H +#define LLD_READER_WRITER_ELF_DEFAULT_TARGET_HANDLER_H + +#include "DefaultLayout.h" +#include "DynamicLibraryWriter.h" +#include "ELFReader.h" +#include "ExecutableWriter.h" +#include "TargetHandler.h" +#include "lld/ReaderWriter/ELFLinkingContext.h" +#include "llvm/ADT/Triple.h" +#include "llvm/Support/ELF.h" + +namespace lld { +namespace elf { +template <class ELFT> +class DefaultTargetHandler : public TargetHandler<ELFT> { +public: + const TargetRelocationHandler &getRelocationHandler() const = 0; + + virtual std::unique_ptr<Reader> getObjReader() = 0; + + virtual std::unique_ptr<Reader> getDSOReader() = 0; + + virtual std::unique_ptr<Writer> getWriter() = 0; +}; + +} // end namespace elf +} // end namespace lld +#endif |