diff options
-rw-r--r-- | lld/include/lld/Core/Writer.h | 7 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp | 2 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/Writer.cpp | 4 |
3 files changed, 6 insertions, 7 deletions
diff --git a/lld/include/lld/Core/Writer.h b/lld/include/lld/Core/Writer.h index 4a66cff935c..b0193c0e5a6 100644 --- a/lld/include/lld/Core/Writer.h +++ b/lld/include/lld/Core/Writer.h @@ -15,12 +15,11 @@ #include <vector> namespace lld { -class File; class ELFLinkingContext; +class File; +class LinkingContext; class MachOLinkingContext; class PECOFFLinkingContext; -class LinkingContext; -class TargetHandler; /// \brief The Writer is an abstract class for writing object files, shared /// library files, and executable files. Each file format (e.g. ELF, mach-o, @@ -42,7 +41,7 @@ protected: Writer(); }; -std::unique_ptr<Writer> createWriterELF(TargetHandler *handler); +std::unique_ptr<Writer> createWriterELF(const ELFLinkingContext &); std::unique_ptr<Writer> createWriterMachO(const MachOLinkingContext &); std::unique_ptr<Writer> createWriterPECOFF(const PECOFFLinkingContext &); std::unique_ptr<Writer> createWriterNative(); diff --git a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp index 23a14caddb6..8f4581a9cd4 100644 --- a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp +++ b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp @@ -79,7 +79,7 @@ bool ELFLinkingContext::validateImpl(raw_ostream &diagnostics) { llvm_unreachable("Unimplemented"); break; default: - _writer = createWriterELF(&this->getTargetHandler()); + _writer = createWriterELF(*this); break; } diff --git a/lld/lib/ReaderWriter/ELF/Writer.cpp b/lld/lib/ReaderWriter/ELF/Writer.cpp index 1e970b65a7f..1c5d9766e9c 100644 --- a/lld/lib/ReaderWriter/ELF/Writer.cpp +++ b/lld/lib/ReaderWriter/ELF/Writer.cpp @@ -16,8 +16,8 @@ using namespace llvm::object; namespace lld { -std::unique_ptr<Writer> createWriterELF(TargetHandler *handler) { - return std::move(handler->getWriter()); +std::unique_ptr<Writer> createWriterELF(const ELFLinkingContext &ctx) { + return ctx.getTargetHandler().getWriter(); } } // namespace lld |