summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h')
-rw-r--r--lld/lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h
index b8e5a31afd4..3dac56f180a 100644
--- a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h
+++ b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h
@@ -19,8 +19,7 @@ namespace elf {
template <typename ELFT> class HexagonTargetLayout;
template <class ELFT>
-class HexagonDynamicLibraryWriter : public DynamicLibraryWriter<ELFT>,
- public HexagonELFWriter<ELFT> {
+class HexagonDynamicLibraryWriter : public DynamicLibraryWriter<ELFT> {
public:
HexagonDynamicLibraryWriter(HexagonLinkingContext &ctx,
HexagonTargetLayout<ELFT> &layout);
@@ -33,7 +32,7 @@ protected:
virtual std::error_code setELFHeader() {
DynamicLibraryWriter<ELFT>::setELFHeader();
- HexagonELFWriter<ELFT>::setELFHeader(*this->_elfHeader);
+ setHexagonELFHeader(*this->_elfHeader);
return std::error_code();
}
@@ -51,8 +50,7 @@ private:
template <class ELFT>
HexagonDynamicLibraryWriter<ELFT>::HexagonDynamicLibraryWriter(
HexagonLinkingContext &ctx, HexagonTargetLayout<ELFT> &layout)
- : DynamicLibraryWriter<ELFT>(ctx, layout),
- HexagonELFWriter<ELFT>(ctx, layout), _ctx(ctx),
+ : DynamicLibraryWriter<ELFT>(ctx, layout), _ctx(ctx),
_hexagonTargetLayout(layout),
_hexagonRuntimeFile(new HexagonRuntimeFile<ELFT>(ctx)) {}
@@ -70,7 +68,8 @@ template <class ELFT>
void HexagonDynamicLibraryWriter<ELFT>::finalizeDefaultAtomValues() {
// Finalize the atom values that are part of the parent.
DynamicLibraryWriter<ELFT>::finalizeDefaultAtomValues();
- HexagonELFWriter<ELFT>::finalizeHexagonRuntimeAtomValues();
+ if (_ctx.isDynamic())
+ finalizeHexagonRuntimeAtomValues(_hexagonTargetLayout);
}
} // namespace elf
OpenPOWER on IntegriCloud