[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();
 }