[lld] r315563 - [MinGW] Hook up the --export-all-symbols and --output-def options

Martin Storsjo via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 11 22:37:18 PDT 2017


Author: mstorsjo
Date: Wed Oct 11 22:37:18 2017
New Revision: 315563

URL: http://llvm.org/viewvc/llvm-project?rev=315563&view=rev
Log:
[MinGW] Hook up the --export-all-symbols and --output-def options

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

Modified:
    lld/trunk/MinGW/Driver.cpp
    lld/trunk/MinGW/Options.td
    lld/trunk/test/MinGW/driver.test

Modified: lld/trunk/MinGW/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/MinGW/Driver.cpp?rev=315563&r1=315562&r2=315563&view=diff
==============================================================================
--- lld/trunk/MinGW/Driver.cpp (original)
+++ lld/trunk/MinGW/Driver.cpp Wed Oct 11 22:37:18 2017
@@ -136,6 +136,8 @@ bool mingw::link(ArrayRef<const char *>
     Add("-implib:" + StringRef(A->getValue()));
   if (auto *A = Args.getLastArg(OPT_stack))
     Add("-stack:" + StringRef(A->getValue()));
+  if (auto *A = Args.getLastArg(OPT_output_def))
+    Add("-output-def:" + StringRef(A->getValue()));
 
   if (auto *A = Args.getLastArg(OPT_o))
     Add("-out:" + StringRef(A->getValue()));
@@ -148,6 +150,8 @@ bool mingw::link(ArrayRef<const char *>
     Add("-dll");
   if (Args.hasArg(OPT_verbose))
     Add("-verbose");
+  if (Args.hasArg(OPT_export_all_symbols))
+    Add("-export-all-symbols");
 
   if (auto *A = Args.getLastArg(OPT_m)) {
     StringRef S = A->getValue();

Modified: lld/trunk/MinGW/Options.td
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/MinGW/Options.td?rev=315563&r1=315562&r2=315563&view=diff
==============================================================================
--- lld/trunk/MinGW/Options.td (original)
+++ lld/trunk/MinGW/Options.td Wed Oct 11 22:37:18 2017
@@ -8,6 +8,8 @@ def L: JoinedOrSeparate<["-"], "L">, Met
   HelpText<"Add a directory to the library search path">;
 def entry: S<"entry">, MetaVarName<"<entry>">,
   HelpText<"Name of entry point symbol">;
+def export_all_symbols: F<"export-all-symbols">,
+    HelpText<"Export all symbols even if a def file or dllexport attributes are used">;
 def l: JoinedOrSeparate<["-"], "l">, MetaVarName<"<libName>">,
   HelpText<"Root name of library to use">;
 def m: JoinedOrSeparate<["-"], "m">, HelpText<"Set target emulation">;
@@ -17,6 +19,7 @@ def no_whole_archive: F<"no-whole-archiv
 def o: JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,
   HelpText<"Path to file to write output">;
 def out_implib: Separate<["--"], "out-implib">, HelpText<"Import library name">;
+def output_def: S<"output-def">, HelpText<"Output def file">;
 def shared: F<"shared">, HelpText<"Build a shared object">;
 def subs: S<"subsystem">, HelpText<"Specify subsystem">;
 def stack: S<"stack">;

Modified: lld/trunk/test/MinGW/driver.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/MinGW/driver.test?rev=315563&r1=315562&r2=315563&view=diff
==============================================================================
--- lld/trunk/test/MinGW/driver.test (original)
+++ lld/trunk/test/MinGW/driver.test Wed Oct 11 22:37:18 2017
@@ -72,3 +72,9 @@ WHOLE-ARCHIVE: foo.o -wholearchive:bar.a
 
 RUN: ld.lld -### -m i386pep foo.o | FileCheck -check-prefix MINGW-FLAG %s
 MINGW-FLAG: -lldmingw
+
+RUN: ld.lld -### -m i386pep foo.o --export-all-symbols | FileCheck -check-prefix EXPORT-ALL %s
+EXPORT-ALL: -export-all-symbols
+
+RUN: ld.lld -### -m i386pep foo.o --output-def out.def | FileCheck -check-prefix OUTPUT-DEF %s
+OUTPUT-DEF: -output-def:out.def




More information about the llvm-commits mailing list