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
This commit is contained in:
Manuel Klimek 2013-07-08 14:44:57 +00:00
parent 6c75160b87
commit a012a66688

View File

@ -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;