[ELF] Support for symbol assignment in linker scripts within SECTIONS {} block

llvm-svn: 275158
diff --git a/lld/ELF/LinkerScript.h b/lld/ELF/LinkerScript.h
index 95f9f13..b515c18 100644
--- a/lld/ELF/LinkerScript.h
+++ b/lld/ELF/LinkerScript.h
@@ -40,12 +40,12 @@
 // This enum represents what we can observe in SECTIONS tag of script:
 // ExprKind is a location counter change, like ". = . + 0x1000"
 // SectionKind is a description of output section, like ".data :..."
-enum SectionsCommandKind { ExprKind, SectionKind };
+enum SectionsCommandKind { ExprKind, SectionKind, SymbolAssignmentKind };
 
 struct SectionsCommand {
   SectionsCommandKind Kind;
   std::vector<StringRef> Expr;
-  StringRef SectionName;
+  StringRef Name;
 };
 
 // ScriptConfiguration holds linker script parse results.
@@ -81,6 +81,7 @@
   bool shouldKeep(InputSectionBase<ELFT> *S);
   void assignAddresses(ArrayRef<OutputSectionBase<ELFT> *> S);
   int compareSections(StringRef A, StringRef B);
+  void addScriptedSymbols();
 
 private:
   // "ScriptConfig" is a bit too long, so define a short name for it.