about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2017-07-21 09:41:29 -0700
committerTim Neumann <mail@timnn.me>2017-07-21 19:09:11 +0200
commitfb217afe86a5b9fccf8565d2d15afc83fceb91b6 (patch)
treecc3b45769d815db74d7689512ee2f56c41b9c070
parentb022d54641586ae1de72cd6325eb09aee7753cca (diff)
downloadrust-fb217afe86a5b9fccf8565d2d15afc83fceb91b6.tar.gz
rust-fb217afe86a5b9fccf8565d2d15afc83fceb91b6.zip
Fix archive member names on 5.0
-rw-r--r--src/rustllvm/ArchiveWrapper.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rustllvm/ArchiveWrapper.cpp b/src/rustllvm/ArchiveWrapper.cpp
index f04251136f4..7f76861c077 100644
--- a/src/rustllvm/ArchiveWrapper.cpp
+++ b/src/rustllvm/ArchiveWrapper.cpp
@@ -12,6 +12,7 @@
 
 #include "llvm/Object/Archive.h"
 #include "llvm/Object/ArchiveWriter.h"
+#include "llvm/Support/Path.h"
 
 using namespace llvm;
 using namespace llvm::object;
@@ -256,6 +257,9 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
         LLVMRustSetLastError(toString(MOrErr.takeError()).c_str());
         return LLVMRustResult::Failure;
       }
+#if LLVM_VERSION_GE(5, 0)
+      MOrErr->MemberName = sys::path::filename(MOrErr->MemberName);
+#endif
       Members.push_back(std::move(*MOrErr));
 #elif LLVM_VERSION_EQ(3, 8)
       Members.push_back(NewArchiveIterator(Member->Filename));