From: Manuel Klimek Date: Mon, 8 Jul 2013 14:44:57 +0000 (+0000) Subject: Fixes problem when calling llvm-ar from an unmodifiable directory. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a012a666888ddd92858eda808af480a01f34bd1e;p=oota-llvm.git 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 --- 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;