diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -464,7 +464,7 @@ static void checkZOptions(opt::InputArgList &args) { for (auto *arg : args.filtered(OPT_z)) if (!isKnownZFlag(arg->getValue())) - error("unknown -z value: " + StringRef(arg->getValue())); + warn("unknown -z value: " + StringRef(arg->getValue())); } void LinkerDriver::linkerMain(ArrayRef argsArr) { diff --git a/lld/test/ELF/driver.test b/lld/test/ELF/driver.test --- a/lld/test/ELF/driver.test +++ b/lld/test/ELF/driver.test @@ -58,12 +58,12 @@ # RUN: not ld.lld %t -output=/no/such/file 2>&1 | FileCheck -check-prefix=ERR9 %s # ERR9: cannot open output file utput=/no/such/file -# RUN: not ld.lld %t -z foo 2>&1 | FileCheck -check-prefix=ERR10 %s -# RUN: not ld.lld %t -z foo --version 2>&1 | FileCheck -check-prefix=ERR10 %s -# ERR10: unknown -z value: foo +# RUN: ld.lld %t -z foo 2>&1 | FileCheck -check-prefix=ERR10 %s +# RUN: ld.lld %t -z foo --version 2>&1 | FileCheck -check-prefix=ERR10 %s +# ERR10: warning: unknown -z value: foo ## Check we report "unknown -z value" error even with -v. -# RUN: not ld.lld %t -z foo -v 2>&1 | FileCheck -check-prefix=ERR10 %s +# RUN: ld.lld %t -z foo -v 2>&1 | FileCheck -check-prefix=ERR10 %s # RUN: not ld.lld %t -z max-page-size 2>&1 | FileCheck -check-prefix=ERR11 %s # ERR11: unknown -z value: max-page-size