summaryrefslogtreecommitdiffstats
path: root/lld/lib/Driver/GnuLdDriver.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2015-05-26 01:57:32 +0000
committerDavide Italiano <davide@freebsd.org>2015-05-26 01:57:32 +0000
commit683703ea6d63a0a7650259a8a86dfce2dd0dc7eb (patch)
tree27dce5284c717bd7f17ba80dfc34fafec5818ee2 /lld/lib/Driver/GnuLdDriver.cpp
parent0a415bf28dab2f91fbcce620a0e77c85ee9cbeb7 (diff)
downloadbcm5719-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.cpp8
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
OpenPOWER on IntegriCloud