diff options
author | Davide Italiano <davide@freebsd.org> | 2015-05-26 01:57:32 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2015-05-26 01:57:32 +0000 |
commit | 683703ea6d63a0a7650259a8a86dfce2dd0dc7eb (patch) | |
tree | 27dce5284c717bd7f17ba80dfc34fafec5818ee2 /lld/lib/Driver/GnuLdDriver.cpp | |
parent | 0a415bf28dab2f91fbcce620a0e77c85ee9cbeb7 (diff) | |
download | bcm5719-llvm-683703ea6d63a0a7650259a8a86dfce2dd0dc7eb.tar.gz bcm5719-llvm-683703ea6d63a0a7650259a8a86dfce2dd0dc7eb.zip |
[ELF] Add support for -z origin/now options.
Differential Revision: http://reviews.llvm.org/D9963
llvm-svn: 238169
Diffstat (limited to 'lld/lib/Driver/GnuLdDriver.cpp')
-rw-r--r-- | lld/lib/Driver/GnuLdDriver.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lld/lib/Driver/GnuLdDriver.cpp b/lld/lib/Driver/GnuLdDriver.cpp index ba87e9b5193..0375ec8a665 100644 --- a/lld/lib/Driver/GnuLdDriver.cpp +++ b/lld/lib/Driver/GnuLdDriver.cpp @@ -584,9 +584,13 @@ bool GnuLdDriver::parse(int argc, const char *argv[], for (auto *arg : parsedArgs->filtered(OPT_z)) { StringRef opt = arg->getValue(); - if (opt == "muldefs") { + if (opt == "muldefs") ctx->setAllowDuplicates(true); - } else if (opt.startswith("max-page-size")) { + else if (opt == "now") + ctx->setDTFlag(ELFLinkingContext::DTFlag::DT_NOW); + else if (opt == "origin") + ctx->setDTFlag(ELFLinkingContext::DTFlag::DT_ORIGIN); + else if (opt.startswith("max-page-size")) { // Parse -z max-page-size option. // The default page size is considered the minimum page size the user // can set, check the user input if its atleast the minimum page size |