diff options
author | Martin Storsjo <martin@martin.st> | 2018-05-11 06:58:06 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2018-05-11 06:58:06 +0000 |
commit | b051c1d541461251e2a3bde2afb3d0b32590118f (patch) | |
tree | 15a245a3d49c0926062d1d3f2b910100dca0cfba | |
parent | 3ee73182404e8b39cbbb798320256e59d52b3cd8 (diff) |
Merging r327562:release_60
------------------------------------------------------------------------
r327562 | mstorsjo | 2018-03-14 22:17:24 +0200 (Wed, 14 Mar 2018) | 1 line
[MinGW] Add support for the GNU ld flag --kill-at
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/lld/branches/release_60@332084 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | MinGW/Driver.cpp | 2 | ||||
-rw-r--r-- | MinGW/Options.td | 1 | ||||
-rw-r--r-- | test/MinGW/driver.test | 4 |
3 files changed, 7 insertions, 0 deletions
diff --git a/MinGW/Driver.cpp b/MinGW/Driver.cpp index 6d3bea5d9..0b7e0831a 100644 --- a/MinGW/Driver.cpp +++ b/MinGW/Driver.cpp @@ -154,6 +154,8 @@ bool mingw::link(ArrayRef<const char *> ArgsArr, raw_ostream &Diag) { Add("-debug:dwarf"); if (Args.hasArg(OPT_large_address_aware)) Add("-largeaddressaware"); + if (Args.hasArg(OPT_kill_at)) + Add("-kill-at"); if (Args.getLastArgValue(OPT_m) != "thumb2pe" && Args.getLastArgValue(OPT_m) != "arm64pe" && !Args.hasArg(OPT_dynamicbase)) diff --git a/MinGW/Options.td b/MinGW/Options.td index 34bf920db..5baf6cbd9 100644 --- a/MinGW/Options.td +++ b/MinGW/Options.td @@ -14,6 +14,7 @@ def export_all_symbols: F<"export-all-symbols">, def gc_sections: F<"gc-sections">, HelpText<"Remove unused sections">; def icf: J<"icf=">, HelpText<"Identical code folding">; def image_base: S<"image-base">, HelpText<"Base address of the program">; +def kill_at: F<"kill-at">, HelpText<"Remove @n from exported symbols">; def l: JoinedOrSeparate<["-"], "l">, MetaVarName<"<libName>">, HelpText<"Root name of library to use">; def m: JoinedOrSeparate<["-"], "m">, HelpText<"Set target emulation">; diff --git a/test/MinGW/driver.test b/test/MinGW/driver.test index 8bf70a9b2..45d19be71 100644 --- a/test/MinGW/driver.test +++ b/test/MinGW/driver.test @@ -124,3 +124,7 @@ ICF-NONE: -opt:noicf RUN: ld.lld -### -m i386pep foo.o --icf=all | FileCheck -check-prefix ICF %s RUN: ld.lld -### -m i386pep foo.o -icf=all | FileCheck -check-prefix ICF %s ICF: -opt:icf + +RUN: ld.lld -### foo.o -m i386pe -shared --kill-at | FileCheck -check-prefix=KILL-AT %s +RUN: ld.lld -### foo.o -m i386pe -shared -kill-at | FileCheck -check-prefix=KILL-AT %s +KILL-AT: -kill-at |