[PATCH] D88045: [lld-macho] minimally handle option -dynamic
Greg McGary via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 21 14:11:08 PDT 2020
gkm created this revision.
gkm added a reviewer: lld-macho.
Herald added subscribers: llvm-commits, dang.
Herald added a project: LLVM.
gkm requested review of this revision.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D88045
Files:
lld/MachO/Config.h
lld/MachO/Driver.cpp
lld/MachO/Options.td
Index: lld/MachO/Options.td
===================================================================
--- lld/MachO/Options.td
+++ lld/MachO/Options.td
@@ -37,7 +37,6 @@
Group<grp_kind>;
def dynamic : Flag<["-"], "dynamic">,
HelpText<"Link dynamically (default)">,
- Flags<[HelpHidden]>,
Group<grp_kind>;
def static : Flag<["-"], "static">,
HelpText<"Link statically">,
Index: lld/MachO/Driver.cpp
===================================================================
--- lld/MachO/Driver.cpp
+++ lld/MachO/Driver.cpp
@@ -524,6 +524,8 @@
config->outputType = args.hasArg(OPT_dylib) ? MH_DYLIB : MH_EXECUTE;
config->runtimePaths = args::getStrings(args, OPT_rpath);
config->allLoad = args.hasArg(OPT_all_load);
+ if (auto *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))
@@ -603,6 +605,7 @@
case OPT_arch:
case OPT_syslibroot:
case OPT_sectcreate:
+ case OPT_dynamic:
// handled elsewhere
break;
default:
Index: lld/MachO/Config.h
===================================================================
--- lld/MachO/Config.h
+++ lld/MachO/Config.h
@@ -35,6 +35,7 @@
bool hasReexports = false;
bool allLoad = false;
bool forceLoadObjC = false;
+ bool staticLink = false;
uint32_t headerPad;
llvm::StringRef installName;
llvm::StringRef outputFile;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88045.293250.patch
Type: text/x-patch
Size: 1520 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200921/1350eebc/attachment.bin>
More information about the llvm-commits
mailing list