summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp3
-rw-r--r--lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h6
2 files changed, 8 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp
index 4c95919d389..898be696d1a 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 12446243919..179a8426d0b 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
OpenPOWER on IntegriCloud