[ELF2] Add support for -z origin.

llvm-svn: 250907
diff --git a/lld/ELF/OutputSections.cpp b/lld/ELF/OutputSections.cpp
index d5c96cf..c04147a 100644
--- a/lld/ELF/OutputSections.cpp
+++ b/lld/ELF/OutputSections.cpp
@@ -349,9 +349,9 @@
     ++NumEntries; // DT_INIT
   if (FiniSym)
     ++NumEntries; // DT_FINI
-  if (Config->Bsymbolic || Config->ZNow)
+  if (Config->Bsymbolic || Config->ZNow || Config->ZOrigin)
     ++NumEntries; // DT_FLAGS
-  if (Config->ZNodelete || Config->ZNow)
+  if (Config->ZNodelete || Config->ZNow || Config->ZOrigin)
     ++NumEntries; // DT_FLAGS_1
   ++NumEntries; // DT_NULL
 
@@ -434,6 +434,8 @@
     Flags |= DF_SYMBOLIC;
   if (Config->ZNow)
     Flags |= DF_BIND_NOW;
+  if (Config->ZOrigin)
+    Flags |= DF_ORIGIN;
   if (Flags)
     WriteVal(DT_FLAGS, Flags);
   Flags = 0;
@@ -441,6 +443,8 @@
     Flags |= DF_1_NODELETE;
   if (Config->ZNow)
     Flags |= DF_1_NOW;
+  if (Config->ZOrigin)
+    Flags |= DF_1_ORIGIN;
   if (Flags)
     WriteVal(DT_FLAGS_1, Flags);