summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2015-04-03 21:22:20 +0000
committerRui Ueyama <ruiu@google.com>2015-04-03 21:22:20 +0000
commitfdcfe466e38273f33ccb2bcaea5d409dbc132776 (patch)
tree34be258ca0bb79a4f84fc32820bbdb1bb9ba877f /lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
parent1662bfe07739a4c852d91c98b9d274a50394c279 (diff)
downloadbcm5719-llvm-fdcfe466e38273f33ccb2bcaea5d409dbc132776.tar.gz
bcm5719-llvm-fdcfe466e38273f33ccb2bcaea5d409dbc132776.zip
ELF: Remove <Arch>ELFReader.h. NFC.
<Arch>ELFReader.h contains only a few typedefs. The typedefs are used only by one class in <Arch>TargetHandler.h. Thus, the headers don't worth to be independent files. Since MipsELFReader.h contains code other than the boilerplate, I didn't touch that file in this patch. llvm-svn: 234056
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h')
-rw-r--r--lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
index facecf55670..0f5b73befe9 100644
--- a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
+++ b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
@@ -10,7 +10,8 @@
#ifndef HEXAGON_TARGET_HANDLER_H
#define HEXAGON_TARGET_HANDLER_H
-#include "HexagonELFReader.h"
+#include "ELFReader.h"
+#include "HexagonELFFile.h"
#include "HexagonExecutableAtoms.h"
#include "HexagonRelocationHandler.h"
#include "HexagonSectionChunks.h"
@@ -97,6 +98,11 @@ private:
/// \brief TargetHandler for Hexagon
class HexagonTargetHandler final : public TargetHandler {
+ typedef llvm::object::ELFType<llvm::support::little, 2, false> ELFTy;
+ typedef ELFObjectReader<ELFTy, HexagonLinkingContext,
+ lld::elf::HexagonELFFile> ObjReader;
+ typedef ELFDSOReader<ELFTy, HexagonLinkingContext> ELFDSOReader;
+
public:
HexagonTargetHandler(HexagonLinkingContext &targetInfo);
@@ -105,19 +111,19 @@ public:
}
std::unique_ptr<Reader> getObjReader() override {
- return llvm::make_unique<HexagonELFObjectReader>(_ctx);
+ return llvm::make_unique<ObjReader>(_ctx);
}
std::unique_ptr<Reader> getDSOReader() override {
- return llvm::make_unique<HexagonELFDSOReader>(_ctx);
+ return llvm::make_unique<ELFDSOReader>(_ctx);
}
std::unique_ptr<Writer> getWriter() override;
private:
HexagonLinkingContext &_ctx;
- std::unique_ptr<HexagonRuntimeFile<HexagonELFType>> _runtimeFile;
- std::unique_ptr<HexagonTargetLayout<HexagonELFType>> _targetLayout;
+ std::unique_ptr<HexagonRuntimeFile<ELFTy>> _runtimeFile;
+ std::unique_ptr<HexagonTargetLayout<ELFTy>> _targetLayout;
std::unique_ptr<HexagonTargetRelocationHandler> _relocationHandler;
};
OpenPOWER on IntegriCloud