From 2c1f3ea538f254759b05ac3caac9592334026f3c Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Fri, 19 Apr 2019 13:50:43 +0000 Subject: [PATCH] [MinGW] Add an --appcontainer flag, passed through to lld-link GNU ld doesn't have such a flag though, so this is a lld specific option. Differential Revision: https://reviews.llvm.org/D60860 llvm-svn: 358759 --- lld/MinGW/Driver.cpp | 2 ++ lld/MinGW/Options.td | 1 + lld/test/MinGW/driver.test | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/lld/MinGW/Driver.cpp b/lld/MinGW/Driver.cpp index 55e9416..d0ece57 100644 --- a/lld/MinGW/Driver.cpp +++ b/lld/MinGW/Driver.cpp @@ -184,6 +184,8 @@ bool mingw::link(ArrayRef ArgsArr, raw_ostream &Diag) { Add("-largeaddressaware"); if (Args.hasArg(OPT_kill_at)) Add("-kill-at"); + if (Args.hasArg(OPT_appcontainer)) + Add("-appcontainer"); if (Args.getLastArgValue(OPT_m) != "thumb2pe" && Args.getLastArgValue(OPT_m) != "arm64pe" && !Args.hasArg(OPT_dynamicbase)) diff --git a/lld/MinGW/Options.td b/lld/MinGW/Options.td index 6769805..403ab42 100644 --- a/lld/MinGW/Options.td +++ b/lld/MinGW/Options.td @@ -55,6 +55,7 @@ def require_defined_eq: J<"require-defined=">, Alias; // LLD specific options def _HASH_HASH_HASH : Flag<["-"], "###">, HelpText<"Print (but do not run) the commands to run for this compilation">; +def appcontainer: F<"appcontainer">, HelpText<"Set the appcontainer flag in the executable">; def mllvm: S<"mllvm">; def pdb: S<"pdb">, HelpText<"Specify output PDB debug information file">; def Xlink : J<"Xlink=">, MetaVarName<"">, diff --git a/lld/test/MinGW/driver.test b/lld/test/MinGW/driver.test index 15c67db..9b4e58d 100644 --- a/lld/test/MinGW/driver.test +++ b/lld/test/MinGW/driver.test @@ -160,3 +160,7 @@ RUN: ld.lld -### -m i386pep foo.o --insert-timestamp --no-insert-timestamp | Fil NOTIMESTAMP: -timestamp:0 RUN: ld.lld -### -m i386pep foo.o --no-insert-timestamp --insert-timestamp | FileCheck -check-prefix TIMESTAMP %s TIMESTAMP-NOT: -timestamp:0 + +RUN: ld.lld -### -m i386pep foo.o -appcontainer | FileCheck -check-prefix APPCONTAINER %s +RUN: ld.lld -### -m i386pep foo.o --appcontainer | FileCheck -check-prefix APPCONTAINER %s +APPCONTAINER: -appcontainer -- 2.7.4