[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