[MinGW] Hook up the --exclude-all-symbols option

Differential Revision: https://reviews.llvm.org/D58380

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@354387 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/MinGW/Driver.cpp b/MinGW/Driver.cpp
index 920afd1..55e9416 100644
--- a/MinGW/Driver.cpp
+++ b/MinGW/Driver.cpp
@@ -176,6 +176,8 @@
     Add("-dll");
   if (Args.hasArg(OPT_verbose))
     Add("-verbose");
+  if (Args.hasArg(OPT_exclude_all_symbols))
+    Add("-exclude-all-symbols");
   if (Args.hasArg(OPT_export_all_symbols))
     Add("-export-all-symbols");
   if (Args.hasArg(OPT_large_address_aware))
diff --git a/MinGW/Options.td b/MinGW/Options.td
index 1eee1ca..6769805 100644
--- a/MinGW/Options.td
+++ b/MinGW/Options.td
@@ -11,6 +11,8 @@
 def dynamicbase: F<"dynamicbase">, HelpText<"Enable ASLR">;
 def entry: S<"entry">, MetaVarName<"<entry>">,
   HelpText<"Name of entry point symbol">;
+def exclude_all_symbols: F<"exclude-all-symbols">,
+    HelpText<"Don't automatically export any symbols">;
 def export_all_symbols: F<"export-all-symbols">,
     HelpText<"Export all symbols even if a def file or dllexport attributes are used">;
 def gc_sections: F<"gc-sections">, HelpText<"Remove unused sections">;
diff --git a/test/MinGW/driver.test b/test/MinGW/driver.test
index f944994..15c67db 100644
--- a/test/MinGW/driver.test
+++ b/test/MinGW/driver.test
@@ -74,6 +74,9 @@
 RUN: ld.lld -### -m i386pep foo.o | FileCheck -check-prefix MINGW-FLAG %s
 MINGW-FLAG: -lldmingw
 
+RUN: ld.lld -### -m i386pep foo.o --exclude-all-symbols | FileCheck -check-prefix EXCLUDE-ALL %s
+EXCLUDE-ALL: -exclude-all-symbols
+
 RUN: ld.lld -### -m i386pep foo.o --export-all-symbols | FileCheck -check-prefix EXPORT-ALL %s
 EXPORT-ALL: -export-all-symbols