[LLD][ELF] - Added file name and a test for case when we fail to write the output.

We did not report the file name and had no test for that case.

llvm-svn: 338959
This commit is contained in:
George Rimar 2018-08-04 12:48:38 +00:00
parent 062fca3e47
commit 032ed8f186
2 changed files with 19 additions and 1 deletions

View File

@ -513,7 +513,8 @@ template <class ELFT> void Writer<ELFT>::run() {
return;
if (auto E = Buffer->commit())
error("failed to write to the output file: " + toString(std::move(E)));
error("failed to write to the output file " + Config->OutputFile + " :" +
toString(std::move(E)));
}
static bool shouldKeepInSymtab(SectionBase *Sec, StringRef SymName,

View File

@ -0,0 +1,17 @@
# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
# RUN: rm -f %t.exe
# RUN: mkdir -p %t.dir
# RUN: cd %t.dir
# RUN: touch %t.exe
# RUN: chmod 100 %t.exe
# RUN: not ld.lld %t.o -o %t.exe 2>&1 | FileCheck %s
# RUN: chmod 755 %t.exe
# CHECK: error: failed to write to the output file {{.*}}.exe :permission denied
.globl _start
_start:
nop