about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/back/linker
diff options
context:
space:
mode:
authorMads Marquart <mads@marquart.dk>2024-11-13 00:27:14 +0100
committerMads Marquart <mads@marquart.dk>2024-11-24 01:20:29 +0100
commitcb6f8fa422ce14b82b60af79d0f0d0ad80936ecd (patch)
tree001ba94da42e183051521e19dfa66d1de5bc58d9 /compiler/rustc_codegen_ssa/src/back/linker
parent45791dde8e0d258d794e561b9dff53f1dbb16377 (diff)
Support rpath with -Clinker-flavor=ld
Using `cc_args` panics when using `-Clinker-flavor=ld`, because the
arguments are in a form tailored for `-Clinker-flavor=gcc`.

So instead, we use `link_args` and let that wrap the arguments with the
appropriate `-Wl` or `-Xlinker` when needed.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back/linker')
-rw-r--r--compiler/rustc_codegen_ssa/src/back/linker/tests.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/linker/tests.rs b/compiler/rustc_codegen_ssa/src/back/linker/tests.rs
index 293ed6634ae..bf3e8c90200 100644
--- a/compiler/rustc_codegen_ssa/src/back/linker/tests.rs
+++ b/compiler/rustc_codegen_ssa/src/back/linker/tests.rs
@@ -1,6 +1,13 @@
 use super::*;
 
 #[test]
+fn test_rpaths_to_args() {
+    let mut cmd = Command::new("foo");
+    convert_link_args_to_cc_args(&mut cmd, &["-rpath", "path1", "-rpath", "path2"]);
+    assert_eq!(cmd.get_args(), [OsStr::new("-Wl,-rpath,path1,-rpath,path2")]);
+}
+
+#[test]
 fn test_xlinker() {
     let mut cmd = Command::new("foo");
     convert_link_args_to_cc_args(&mut cmd, &[