diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp index 4c95919d3898..898be696d1a7 100644 --- a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp +++ b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp @@ -87,5 +87,6 @@ ErrorOr<void> X86_64TargetRelocationHandler::applyRelocation( } X86_64TargetHandler::X86_64TargetHandler(X86_64TargetInfo &targetInfo) - : DefaultTargetHandler(targetInfo), _relocationHandler(targetInfo) { + : DefaultTargetHandler(targetInfo), _relocationHandler(targetInfo), + _targetLayout(targetInfo) { } diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h index 12446243919d..179a8426d0b3 100644 --- a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h +++ b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h @@ -11,6 +11,7 @@ #define LLD_READER_WRITER_ELF_X86_64_TARGET_HANDLER_H #include "DefaultTargetHandler.h" +#include "TargetLayout.h" namespace lld { namespace elf { @@ -35,12 +36,17 @@ class X86_64TargetHandler LLVM_FINAL public: X86_64TargetHandler(X86_64TargetInfo &targetInfo); + virtual TargetLayout<X86_64ELFType> &targetLayout() { + return _targetLayout; + } + virtual const X86_64TargetRelocationHandler &getRelocationHandler() const { return _relocationHandler; } private: X86_64TargetRelocationHandler _relocationHandler; + TargetLayout<X86_64ELFType> _targetLayout; }; } // end namespace elf } // end namespace lld