summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/lib/Driver/GnuLdDriver.cpp10
-rw-r--r--lld/test/elf/allowduplicates.objtxt11
2 files changed, 17 insertions, 4 deletions
diff --git a/lld/lib/Driver/GnuLdDriver.cpp b/lld/lib/Driver/GnuLdDriver.cpp
index 47312533837..9d380e83d66 100644
--- a/lld/lib/Driver/GnuLdDriver.cpp
+++ b/lld/lib/Driver/GnuLdDriver.cpp
@@ -440,6 +440,16 @@ bool GnuLdDriver::parse(int argc, const char *argv[],
groupStack.pop();
break;
+ case OPT_z: {
+ StringRef extOpt = inputArg->getValue();
+ if (extOpt == "muldefs")
+ ctx->setAllowDuplicates(true);
+ else
+ diagnostics << "warning: ignoring unknown argument for -z: " << extOpt
+ << "\n";
+ break;
+ }
+
case OPT_INPUT:
case OPT_l: {
bool isDashlPrefix = (inputArg->getOption().getID() == OPT_l);
diff --git a/lld/test/elf/allowduplicates.objtxt b/lld/test/elf/allowduplicates.objtxt
index bb0d485b6bb..dbad3bd312e 100644
--- a/lld/test/elf/allowduplicates.objtxt
+++ b/lld/test/elf/allowduplicates.objtxt
@@ -1,8 +1,11 @@
-# RUN: lld -flavor gnu -target x86_64 --allow-multiple-definition -r %s \
-# RUN: --output-filetype=yaml | FileCheck %s
+# RUN: lld -flavor gnu -target x86_64 --allow-multiple-definition %s \
+# RUN: --output-filetype=yaml --noinhibit-exec | FileCheck %s
#
-# RUN: not lld -flavor gnu -target x86_64 -r %s --output-filetype=yaml 2>&1 \
-# RUN: | FileCheck -check-prefix=ERROR %s
+# RUN: not lld -flavor gnu -target x86_64 %s --output-filetype=yaml \
+# RUN: --noinhibit-exec 2>&1 | FileCheck -check-prefix=ERROR %s
+#
+# RUN: lld -flavor gnu -target x86_64 -z muldefs %s \
+# RUN: --noinhibit-exec --output-filetype=yaml | FileCheck %s
---
defined-atoms:
OpenPOWER on IntegriCloud