about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/back/archive.rs
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo>2019-10-15 13:42:27 +0200
committerMichael Woerister <michaelwoerister@posteo>2019-10-22 12:33:35 +0200
commit52eda13031f039b5996b7d863715b0439297071e (patch)
tree0de6710faa2c471979db7c36c31be83b8e655754 /src/librustc_codegen_llvm/back/archive.rs
parent412cec2e12ebb86fb526918431acc991ea4e540b (diff)
downloadrust-52eda13031f039b5996b7d863715b0439297071e.tar.gz
rust-52eda13031f039b5996b7d863715b0439297071e.zip
Fix issue #64153 by checking for .rcgu.o suffix when trying to identify Rust generated object files.
Diffstat (limited to 'src/librustc_codegen_llvm/back/archive.rs')
-rw-r--r--src/librustc_codegen_llvm/back/archive.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc_codegen_llvm/back/archive.rs b/src/librustc_codegen_llvm/back/archive.rs
index 68d3f90cd39..e169cfc4cc8 100644
--- a/src/librustc_codegen_llvm/back/archive.rs
+++ b/src/librustc_codegen_llvm/back/archive.rs
@@ -9,7 +9,9 @@ use std::str;
 
 use crate::llvm::archive_ro::{ArchiveRO, Child};
 use crate::llvm::{self, ArchiveKind};
-use rustc_codegen_ssa::{METADATA_FILENAME, RLIB_BYTECODE_EXTENSION};
+use rustc_codegen_ssa::{
+    METADATA_FILENAME, RLIB_BYTECODE_EXTENSION, looks_like_rust_object_file
+};
 use rustc_codegen_ssa::back::archive::{ArchiveBuilder, find_library};
 use rustc::session::Session;
 use syntax::symbol::Symbol;
@@ -141,7 +143,7 @@ impl<'a> ArchiveBuilder<'a> for LlvmArchiveBuilder<'a> {
             }
 
             // Don't include Rust objects if LTO is enabled
-            if lto && fname.starts_with(&obj_start) && fname.ends_with(".o") {
+            if lto && looks_like_rust_object_file(fname) {
                 return true
             }