[lld] r315163 - Add comment.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 7 18:55:29 PDT 2017


Author: ruiu
Date: Sat Oct  7 18:55:29 2017
New Revision: 315163

URL: http://llvm.org/viewvc/llvm-project?rev=315163&view=rev
Log:
Add comment.

Modified:
    lld/trunk/ELF/InputSection.h

Modified: lld/trunk/ELF/InputSection.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputSection.h?rev=315163&r1=315162&r2=315163&view=diff
==============================================================================
--- lld/trunk/ELF/InputSection.h (original)
+++ lld/trunk/ELF/InputSection.h Sat Oct  7 18:55:29 2017
@@ -54,12 +54,23 @@ public:
 
   // The garbage collector sets sections' Live bits.
   // If GC is disabled, all sections are considered live by default.
-  unsigned Live : 1;     // for garbage collection
-  unsigned Assigned : 1; // for linker script
+  unsigned Live : 1;
 
-  uint32_t Alignment;
+  // True if this section has already been placed to a linker script
+  // output section. This is needed because, in a linker script, you
+  // can refer to the same section more than once. For example, in
+  // the following linker script,
+  //
+  //   .foo : { *(.text) }
+  //   .bar : { *(.text) }
+  //
+  // .foo takes all .text sections, and .bar becomes empty. To achieve
+  // this, we need to memorize whether a section has been placed or
+  // not for each input section.
+  unsigned Assigned : 1;
 
   // These corresponds to the fields in Elf_Shdr.
+  uint32_t Alignment;
   uint64_t Flags;
   uint64_t Entsize;
   uint32_t Type;




More information about the llvm-commits mailing list