gollvm: support -z linker option

Add support for -z linker option so that -zdefs can be recognized by llvm-goc.

Change-Id: I52747be888be4a3291e3b8d5b430c3afa949c600
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/213997
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/driver/GnuTools.cpp b/driver/GnuTools.cpp
index 4d99232..3748e10 100644
--- a/driver/GnuTools.cpp
+++ b/driver/GnuTools.cpp
@@ -371,11 +371,12 @@
   if (useStdLib)
     addBeginFiles(cmdArgs);
 
-  // Incorporate inputs and -l/-L flags with -Wl,.. and -Xlinker args, in
+  // Incorporate inputs and -l/-L/-z flags with -Wl,.. and -Xlinker args, in
   // correct order.
   std::set<unsigned> ldFlags;
   ldFlags.insert(gollvm::options::OPT_l);
   ldFlags.insert(gollvm::options::OPT_L);
+  ldFlags.insert(gollvm::options::OPT_z);
   std::set<unsigned> ldEscapes;
   ldEscapes.insert(gollvm::options::OPT_Wl_COMMA);
   ldEscapes.insert(gollvm::options::OPT_Xlinker);
diff --git a/driver/GollvmOptions.td b/driver/GollvmOptions.td
index 7500652..bef655d 100644
--- a/driver/GollvmOptions.td
+++ b/driver/GollvmOptions.td
@@ -125,6 +125,9 @@
 def l : JoinedOrSeparate<["-"], "l">, Flags<[RenderJoined]>,
         Group<Link_Group>;
 
+def z : JoinedOrSeparate<["-"], "z">, Flags<[RenderJoined]>,
+        Group<Link_Group>;
+
 def D : JoinedOrSeparate<["-"], "D">, Group<CompileOnly_Group>,
     Flags<[Ignored]>, MetaVarName<"<macro>=<value>">,
     HelpText<"This option is ignored">;