Index: ELF/LinkerScript.cpp =================================================================== --- ELF/LinkerScript.cpp +++ ELF/LinkerScript.cpp @@ -1246,10 +1246,10 @@ } void ScriptParser::readOutputArch() { - // Error checking only for now. + // Ignore expression for now. expect("("); - skip(); - expect(")"); + while (!Error && !consume(")")) + skip(); } void ScriptParser::readOutputFormat() { Index: test/ELF/linkerscript/outputarch.s =================================================================== --- test/ELF/linkerscript/outputarch.s +++ test/ELF/linkerscript/outputarch.s @@ -4,6 +4,6 @@ # RUN: ld.lld -shared -o %t2 %t1 %t.script # RUN: llvm-readobj %t2 > /dev/null -# RUN: echo "OUTPUT_ARCH(x, y)" > %t.script +# RUN: echo "OUTPUT_ARCH(All data written here is ignored)" > %t.script # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-freebsd %s -o %t1 -# RUN: not ld.lld -shared -o %t2 %t1 %t.script +# RUN: ld.lld -shared -o %t2 %t1 %t.script