aboutsummaryrefslogtreecommitdiff
path: root/lld
diff options
context:
space:
mode:
authorGreg McGary <gkm@fb.com>2020-09-21 13:21:45 -0700
committerGreg McGary <gkm@fb.com>2020-09-22 08:03:44 -0700
commit7afbf3192dc5690285edbfb336c061a9d43e247e (patch)
treeb78671b9b1e4a5de3ed449438fc6d7a6a252b1b2 /lld
parentc671e34bf2ae0eaa78d214b849ddd5de30b3b5be (diff)
downloadllvm-7afbf3192dc5690285edbfb336c061a9d43e247e.zip
llvm-7afbf3192dc5690285edbfb336c061a9d43e247e.tar.gz
llvm-7afbf3192dc5690285edbfb336c061a9d43e247e.tar.bz2
[lld-macho] minimally handle option -dynamic
Stifle the warning for unimplemented option `-dyamic`, since it is already the default. Add `Config::staticLink` and skeletal support for altering the flag, but otherwise leave the option `-static` as hidden and its warning in place. Differential Revision: https://reviews.llvm.org/D88045
Diffstat (limited to 'lld')
-rw-r--r--lld/MachO/Config.h1
-rw-r--r--lld/MachO/Driver.cpp4
-rw-r--r--lld/MachO/Options.td1
3 files changed, 5 insertions, 1 deletions
diff --git a/lld/MachO/Config.h b/lld/MachO/Config.h
index 5fbb477..47b4cb67 100644
--- a/lld/MachO/Config.h
+++ b/lld/MachO/Config.h
@@ -35,6 +35,7 @@ struct Configuration {
bool hasReexports = false;
bool allLoad = false;
bool forceLoadObjC = false;
+ bool staticLink = false;
uint32_t headerPad;
llvm::StringRef installName;
llvm::StringRef outputFile;
diff --git a/lld/MachO/Driver.cpp b/lld/MachO/Driver.cpp
index cda82ec..71af294 100644
--- a/lld/MachO/Driver.cpp
+++ b/lld/MachO/Driver.cpp
@@ -525,6 +525,9 @@ bool macho::link(llvm::ArrayRef<const char *> argsArr, bool canExitEarly,
config->runtimePaths = args::getStrings(args, OPT_rpath);
config->allLoad = args.hasArg(OPT_all_load);
+ if (const opt::Arg *arg = args.getLastArg(OPT_static, OPT_dynamic))
+ config->staticLink = (arg->getOption().getID() == OPT_static);
+
std::vector<StringRef> &roots = config->systemLibraryRoots;
for (const Arg *arg : args.filtered(OPT_syslibroot))
roots.push_back(arg->getValue());
@@ -603,6 +606,7 @@ bool macho::link(llvm::ArrayRef<const char *> argsArr, bool canExitEarly,
case OPT_arch:
case OPT_syslibroot:
case OPT_sectcreate:
+ case OPT_dynamic:
// handled elsewhere
break;
default:
diff --git a/lld/MachO/Options.td b/lld/MachO/Options.td
index e53c1bd..73e3ae8 100644
--- a/lld/MachO/Options.td
+++ b/lld/MachO/Options.td
@@ -37,7 +37,6 @@ def dylinker : Flag<["-"], "dylinker">,
Group<grp_kind>;
def dynamic : Flag<["-"], "dynamic">,
HelpText<"Link dynamically (default)">,
- Flags<[HelpHidden]>,
Group<grp_kind>;
def static : Flag<["-"], "static">,
HelpText<"Link statically">,