about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2025-03-25 00:00:10 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2025-03-25 00:03:36 +0300
commit7c55782e0c1d01dfd7ceab3b4e682c12e24308d8 (patch)
tree1d66cda4ae24b7e371ca06c3f5819871eb105296 /compiler/rustc_codegen_ssa/src
parent27e95f95e6dfcc1effa1f106c90fe53ab2236b76 (diff)
downloadrust-7c55782e0c1d01dfd7ceab3b4e682c12e24308d8.tar.gz
rust-7c55782e0c1d01dfd7ceab3b4e682c12e24308d8.zip
rustc_session: Add a helper function for obtaining staticlib prefix and suffix
Diffstat (limited to 'compiler/rustc_codegen_ssa/src')
-rw-r--r--compiler/rustc_codegen_ssa/src/back/link.rs6
-rw-r--r--compiler/rustc_codegen_ssa/src/back/linker.rs11
2 files changed, 5 insertions, 12 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
index 360f6d82dbc..a564e0e391f 100644
--- a/compiler/rustc_codegen_ssa/src/back/link.rs
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -1494,11 +1494,7 @@ fn print_native_static_libs(
                 | NativeLibKind::Unspecified => {
                     let verbatim = lib.verbatim;
                     if sess.target.is_like_msvc {
-                        let (prefix, suffix) = if verbatim {
-                            ("", "")
-                        } else {
-                            (&*sess.target.staticlib_prefix, &*sess.target.staticlib_suffix)
-                        };
+                        let (prefix, suffix) = sess.staticlib_components(verbatim);
                         Some(format!("{prefix}{name}{suffix}"))
                     } else if sess.target.linker_flavor.is_gnu() {
                         Some(format!("-l{}{}", if verbatim { ":" } else { "" }, name))
diff --git a/compiler/rustc_codegen_ssa/src/back/linker.rs b/compiler/rustc_codegen_ssa/src/back/linker.rs
index 7f24d79b83b..bcf18cf57be 100644
--- a/compiler/rustc_codegen_ssa/src/back/linker.rs
+++ b/compiler/rustc_codegen_ssa/src/back/linker.rs
@@ -450,9 +450,10 @@ impl<'a> GccLinker<'a> {
                     // The output filename already contains `dll_suffix` so
                     // the resulting import library will have a name in the
                     // form of libfoo.dll.a
-                    let mut implib_name = OsString::from(&*self.sess.target.staticlib_prefix);
+                    let (prefix, suffix) = self.sess.staticlib_components(false);
+                    let mut implib_name = OsString::from(prefix);
                     implib_name.push(name);
-                    implib_name.push(&*self.sess.target.staticlib_suffix);
+                    implib_name.push(suffix);
                     let mut out_implib = OsString::from("--out-implib=");
                     out_implib.push(out_filename.with_file_name(implib_name));
                     self.link_arg(out_implib);
@@ -959,11 +960,7 @@ impl<'a> Linker for MsvcLinker<'a> {
             self.link_staticlib_by_path(&path, whole_archive);
         } else {
             let opts = if whole_archive { "/WHOLEARCHIVE:" } else { "" };
-            let (prefix, suffix) = if verbatim {
-                ("", "")
-            } else {
-                (&*self.sess.target.staticlib_prefix, &*self.sess.target.staticlib_suffix)
-            };
+            let (prefix, suffix) = self.sess.staticlib_components(verbatim);
             self.link_arg(format!("{opts}{prefix}{name}{suffix}"));
         }
     }