[ELF][Writer] Add dynamic table.
llvm-svn: 175654
diff --git a/lld/lib/ReaderWriter/ELF/Writer.cpp b/lld/lib/ReaderWriter/ELF/Writer.cpp
index 4472c6c..411fee3 100644
--- a/lld/lib/ReaderWriter/ELF/Writer.cpp
+++ b/lld/lib/ReaderWriter/ELF/Writer.cpp
@@ -66,6 +66,10 @@
LLD_UNIQUE_BUMP_PTR(StringTable<ELFT>) _strtab;
LLD_UNIQUE_BUMP_PTR(StringTable<ELFT>) _shstrtab;
LLD_UNIQUE_BUMP_PTR(SectionHeader<ELFT>) _shdrtab;
+ /// \name Dynamic sections.
+ /// @{
+ LLD_UNIQUE_BUMP_PTR(DynamicTable<ELFT>) _dynamicTable;
+ /// @}
CRuntimeFile<ELFT> _runtimeFile;
};
@@ -330,6 +334,12 @@
_symtab->setStringSection(_strtab.get());
_layout->addSection(_shdrtab.get());
+ if (_targetInfo.isDynamic()) {
+ _dynamicTable.reset(new (_alloc) DynamicTable<ELFT>(
+ _targetInfo, ".dynamic", DefaultLayout<ELFT>::ORDER_DYNAMIC));
+ _layout->addSection(_dynamicTable.get());
+ }
+
// give a chance for the target to add sections
_targetHandler.createDefaultSections();
}