Index: lld/trunk/ELF/Driver.cpp =================================================================== --- lld/trunk/ELF/Driver.cpp +++ lld/trunk/ELF/Driver.cpp @@ -41,6 +41,7 @@ bool elf::link(ArrayRef Args, raw_ostream &Error) { HasError = false; ErrorOS = &Error; + Argv0 = Args[0]; Configuration C; LinkerDriver D; Index: lld/trunk/ELF/Error.h =================================================================== --- lld/trunk/ELF/Error.h +++ lld/trunk/ELF/Error.h @@ -33,6 +33,7 @@ extern bool HasError; extern llvm::raw_ostream *ErrorOS; +extern llvm::StringRef Argv0; void log(const Twine &Msg); void warn(const Twine &Msg); Index: lld/trunk/ELF/Error.cpp =================================================================== --- lld/trunk/ELF/Error.cpp +++ lld/trunk/ELF/Error.cpp @@ -20,21 +20,22 @@ bool elf::HasError; raw_ostream *elf::ErrorOS; +StringRef elf::Argv0; void elf::log(const Twine &Msg) { if (Config->Verbose) - outs() << Msg << "\n"; + outs() << Argv0 << ": " << Msg << "\n"; } void elf::warn(const Twine &Msg) { if (Config->FatalWarnings) error(Msg); else - *ErrorOS << "warning: " << Msg << "\n"; + *ErrorOS << Argv0 << ": warning: " << Msg << "\n"; } void elf::error(const Twine &Msg) { - *ErrorOS << "error: " << Msg << "\n"; + *ErrorOS << Argv0 << ": error: " << Msg << "\n"; HasError = true; } @@ -43,7 +44,7 @@ } void elf::fatal(const Twine &Msg) { - *ErrorOS << "error: " << Msg << "\n"; + *ErrorOS << Argv0 << ": error: " << Msg << "\n"; exit(1); } Index: lld/trunk/test/ELF/basic.s =================================================================== --- lld/trunk/test/ELF/basic.s +++ lld/trunk/test/ELF/basic.s @@ -207,7 +207,7 @@ # RUN: not ld.lld -o %t2 2>&1 | \ # RUN: FileCheck --check-prefix=NO_INPUT %s -# NO_INPUT: no input files +# NO_INPUT: ld.lld{{.*}}: no input files # RUN: not ld.lld %t.no.such.file -o %t2 2>&1 | \ # RUN: FileCheck --check-prefix=CANNOT_OPEN %s Index: lld/trunk/test/ELF/copy-rel-corrupted.s =================================================================== --- lld/trunk/test/ELF/copy-rel-corrupted.s +++ lld/trunk/test/ELF/copy-rel-corrupted.s @@ -1,7 +1,7 @@ // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux // RUN: llvm-mc %p/Inputs/copy-rel-corrupted.s -o %t2.o -filetype=obj -triple=x86_64-pc-linux // RUN: ld.lld %t2.o -o %t2.so -shared -// RUN: not ld.lld %t.o %t2.so -o %t.exe 2>&1 | FileCheck %s --match-full-lines +// RUN: not ld.lld %t.o %t2.so -o %t.exe 2>&1 | FileCheck %s // CHECK: error: cannot create a copy relocation for symbol x Index: lld/trunk/test/ELF/entry.s =================================================================== --- lld/trunk/test/ELF/entry.s +++ lld/trunk/test/ELF/entry.s @@ -2,9 +2,9 @@ # RUN: ld.lld -e foobar %t1 -o %t2 2>&1 | FileCheck -check-prefix=WARN %s # RUN: llvm-readobj -file-headers %t2 | FileCheck -check-prefix=NOENTRY %s -# RUN: ld.lld %t1 -o %t2 2>&1 | FileCheck -check-prefix=WARN2 %s --match-full-lines +# RUN: ld.lld %t1 -o %t2 2>&1 | FileCheck -check-prefix=WARN2 %s -# RUN: ld.lld -shared -e foobar %t1 -o %t2 2>&1 | FileCheck -check-prefix=WARN --match-full-lines %s +# RUN: ld.lld -shared -e foobar %t1 -o %t2 2>&1 | FileCheck -check-prefix=WARN %s # RUN: ld.lld -shared --fatal-warnings -e entry %t1 -o %t2 # RUN: ld.lld -shared --fatal-warnings %t1 -o %t2 Index: lld/trunk/test/ELF/linkerscript/diagnostic.s =================================================================== --- lld/trunk/test/ELF/linkerscript/diagnostic.s +++ lld/trunk/test/ELF/linkerscript/diagnostic.s @@ -52,7 +52,7 @@ # RUN: FileCheck -check-prefix=ERR6 %s < %t.log # ERR6: line 1: # ERR6-NEXT: UNKNOWN_TAG { -# RUN: grep '^error: ^' %t.log +# RUN: grep 'error: ^' %t.log ## One more check that text of lines and pointer to 'bad' token are working ok. # RUN: echo "SECTIONS {" > %t.script @@ -63,4 +63,4 @@ # RUN: FileCheck -check-prefix=ERR7 %s < %t.log # ERR7: line 4: malformed number: .temp # ERR7-NEXT: boom .temp : { *(.temp) } } -# RUN: grep '^error: ^' %t.log +# RUN: grep 'error: ^' %t.log