diff options
| -rw-r--r-- | lld/ELF/Driver.cpp | 3 | ||||
| -rw-r--r-- | lld/test/ELF/allow-multiple-definition.s | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 78b3ed90c30..cc30780ce3d 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -613,7 +613,8 @@ static bool getCompressDebugSections(opt::InputArgList &Args) { // Initializes Config members by the command line options. void LinkerDriver::readConfigs(opt::InputArgList &Args) { - Config->AllowMultipleDefinition = Args.hasArg(OPT_allow_multiple_definition); + Config->AllowMultipleDefinition = + Args.hasArg(OPT_allow_multiple_definition) || hasZOption(Args, "muldefs"); Config->AuxiliaryList = getArgs(Args, OPT_auxiliary); Config->Bsymbolic = Args.hasArg(OPT_Bsymbolic); Config->BsymbolicFunctions = Args.hasArg(OPT_Bsymbolic_functions); diff --git a/lld/test/ELF/allow-multiple-definition.s b/lld/test/ELF/allow-multiple-definition.s index e4637e1a536..c54438d9f1e 100644 --- a/lld/test/ELF/allow-multiple-definition.s +++ b/lld/test/ELF/allow-multiple-definition.s @@ -8,6 +8,11 @@ # RUN: llvm-objdump -d %t3 | FileCheck %s # RUN: llvm-objdump -d %t4 | FileCheck -check-prefix=REVERT %s +# RUN: ld.lld -z muldefs %t1 %t2 -o %t3 +# RUN: ld.lld -z muldefs %t2 %t1 -o %t4 +# RUN: llvm-objdump -d %t3 | FileCheck %s +# RUN: llvm-objdump -d %t4 | FileCheck -check-prefix=REVERT %s + # inputs contain different constants for instuction movl. # Tests below checks that order of files in command line # affects on what symbol will be used. |

