Add comments.
authorRui Ueyama <ruiu@google.com>
Tue, 2 Feb 2016 03:11:27 +0000 (03:11 +0000)
committerRui Ueyama <ruiu@google.com>
Tue, 2 Feb 2016 03:11:27 +0000 (03:11 +0000)
llvm-svn: 259460

lld/ELF/OutputSections.h

index 7045720..536aabd 100644 (file)
@@ -395,6 +395,10 @@ class DynamicSection final : public OutputSectionBase<ELFT> {
   typedef typename llvm::object::ELFFile<ELFT>::Elf_Sym Elf_Sym;
   typedef typename llvm::object::ELFFile<ELFT>::uintX_t uintX_t;
 
+  // The .dynamic section contains information for the dynamic linker.
+  // The section consists of fixed size entries, which consist of
+  // type and value fields. Value are one of plain integers, symbol
+  // addresses, or section addresses. This struct represents the entry.
   struct Entry {
     int32_t Tag;
     union {
@@ -409,6 +413,10 @@ class DynamicSection final : public OutputSectionBase<ELFT> {
     Entry(int32_t Tag, const SymbolBody *Sym)
         : Tag(Tag), Sym(Sym), Kind(SymAddr) {}
   };
+
+  // finalize() fills this vector with the section contents. finalize()
+  // cannot directly create final section contents because when the
+  // function is called, symbol or section addresses are not fixed yet.
   std::vector<Entry> Entries;
 
 public: