From a012a666888ddd92858eda808af480a01f34bd1e Mon Sep 17 00:00:00 2001 From: Manuel Klimek Date: Mon, 8 Jul 2013 14:44:57 +0000 Subject: [PATCH] Fixes problem when calling llvm-ar from an unmodifiable directory. This fixes a regression introduced by r185726: the new call to get a unique file does not prepend the system temporary directory, so we need to anchor on the file that the temporary file gets moved to to ensure we're on the same file system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185825 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-ar/ArchiveWriter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/llvm-ar/ArchiveWriter.cpp b/tools/llvm-ar/ArchiveWriter.cpp index 52ce045c16c..ef910019df4 100644 --- a/tools/llvm-ar/ArchiveWriter.cpp +++ b/tools/llvm-ar/ArchiveWriter.cpp @@ -260,8 +260,8 @@ bool Archive::writeToDisk(bool TruncateNames, std::string *ErrMsg) { // Create a temporary file to store the archive in int TmpArchiveFD; SmallString<128> TmpArchive; - error_code EC = sys::fs::createUniqueFile("temp-archive-%%%%%%%.a", - TmpArchiveFD, TmpArchive); + error_code EC = sys::fs::createUniqueFile( + archPath + ".temp-archive-%%%%%%%.a", TmpArchiveFD, TmpArchive); if (EC) return true; -- 2.34.1