]> granicus.if.org Git - llvm/commitdiff
gold-plugin: Add the file path to the file open error diagnostic.
authorPeter Collingbourne <peter@pcc.me.uk>
Wed, 25 Jan 2017 03:35:28 +0000 (03:35 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Wed, 25 Jan 2017 03:35:28 +0000 (03:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293013 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/gold/X86/error-unopenable.ll [new file with mode: 0644]
tools/gold/gold-plugin.cpp

diff --git a/test/tools/gold/X86/error-unopenable.ll b/test/tools/gold/X86/error-unopenable.ll
new file mode 100644 (file)
index 0000000..c8532a5
--- /dev/null
@@ -0,0 +1,8 @@
+; RUN: llvm-as -o %t %s
+; RUN: not %gold -plugin %llvmshlibdir/LLVMgold.so \
+; RUN:    --plugin-opt=obj-path=%T/nonexistent-dir/foo.o \
+; RUN:    %t -o %t2 2>&1 | FileCheck %s
+
+; CHECK: Could not open file {{.*}}nonexistent-dir
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
index 50e102b0459530d03d085dec0df7142a3ba120d9..1ac542b2876485951aef8d3ba17e05cb2ec47a87 100644 (file)
@@ -826,7 +826,8 @@ static ld_plugin_status allSymbolsReadHook() {
     std::error_code EC =
         sys::fs::openFileForWrite(Filenames[Task], FD, sys::fs::F_None);
     if (EC)
-      message(LDPL_FATAL, "Could not open file: %s", EC.message().c_str());
+      message(LDPL_FATAL, "Could not open file %s: %s", Filenames[Task].c_str(),
+              EC.message().c_str());
     return llvm::make_unique<lto::NativeObjectStream>(
         llvm::make_unique<llvm::raw_fd_ostream>(FD, true));
   };