forked from OSchip/llvm-project
[MinGW] Hook up the --export-all-symbols and --output-def options
Differential Revision: https://reviews.llvm.org/D38761 llvm-svn: 315563
This commit is contained in:
parent
7f71acdcd7
commit
a84a47741a
|
@ -136,6 +136,8 @@ bool mingw::link(ArrayRef<const char *> ArgsArr, raw_ostream &Diag) {
|
||||||
Add("-implib:" + StringRef(A->getValue()));
|
Add("-implib:" + StringRef(A->getValue()));
|
||||||
if (auto *A = Args.getLastArg(OPT_stack))
|
if (auto *A = Args.getLastArg(OPT_stack))
|
||||||
Add("-stack:" + StringRef(A->getValue()));
|
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))
|
if (auto *A = Args.getLastArg(OPT_o))
|
||||||
Add("-out:" + StringRef(A->getValue()));
|
Add("-out:" + StringRef(A->getValue()));
|
||||||
|
@ -148,6 +150,8 @@ bool mingw::link(ArrayRef<const char *> ArgsArr, raw_ostream &Diag) {
|
||||||
Add("-dll");
|
Add("-dll");
|
||||||
if (Args.hasArg(OPT_verbose))
|
if (Args.hasArg(OPT_verbose))
|
||||||
Add("-verbose");
|
Add("-verbose");
|
||||||
|
if (Args.hasArg(OPT_export_all_symbols))
|
||||||
|
Add("-export-all-symbols");
|
||||||
|
|
||||||
if (auto *A = Args.getLastArg(OPT_m)) {
|
if (auto *A = Args.getLastArg(OPT_m)) {
|
||||||
StringRef S = A->getValue();
|
StringRef S = A->getValue();
|
||||||
|
|
|
@ -8,6 +8,8 @@ def L: JoinedOrSeparate<["-"], "L">, MetaVarName<"<dir>">,
|
||||||
HelpText<"Add a directory to the library search path">;
|
HelpText<"Add a directory to the library search path">;
|
||||||
def entry: S<"entry">, MetaVarName<"<entry>">,
|
def entry: S<"entry">, MetaVarName<"<entry>">,
|
||||||
HelpText<"Name of entry point symbol">;
|
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>">,
|
def l: JoinedOrSeparate<["-"], "l">, MetaVarName<"<libName>">,
|
||||||
HelpText<"Root name of library to use">;
|
HelpText<"Root name of library to use">;
|
||||||
def m: JoinedOrSeparate<["-"], "m">, HelpText<"Set target emulation">;
|
def m: JoinedOrSeparate<["-"], "m">, HelpText<"Set target emulation">;
|
||||||
|
@ -17,6 +19,7 @@ def no_whole_archive: F<"no-whole-archive">,
|
||||||
def o: JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,
|
def o: JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,
|
||||||
HelpText<"Path to file to write output">;
|
HelpText<"Path to file to write output">;
|
||||||
def out_implib: Separate<["--"], "out-implib">, HelpText<"Import library name">;
|
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 shared: F<"shared">, HelpText<"Build a shared object">;
|
||||||
def subs: S<"subsystem">, HelpText<"Specify subsystem">;
|
def subs: S<"subsystem">, HelpText<"Specify subsystem">;
|
||||||
def stack: S<"stack">;
|
def stack: S<"stack">;
|
||||||
|
|
|
@ -72,3 +72,9 @@ WHOLE-ARCHIVE: foo.o -wholearchive:bar.a baz.a
|
||||||
|
|
||||||
RUN: ld.lld -### -m i386pep foo.o | FileCheck -check-prefix MINGW-FLAG %s
|
RUN: ld.lld -### -m i386pep foo.o | FileCheck -check-prefix MINGW-FLAG %s
|
||||||
MINGW-FLAG: -lldmingw
|
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
|
||||||
|
|
Loading…
Reference in New Issue