about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src
diff options
context:
space:
mode:
authorMads Marquart <mads@marquart.dk>2024-02-22 02:24:35 +0100
committerMads Marquart <mads@marquart.dk>2024-02-22 02:32:43 +0100
commitf1548ec94dcc32634a607389765f76f51cd94eee (patch)
treee68a1b216f268951ad9e8e4d5df1cedcef0464bc /compiler/rustc_codegen_ssa/src
parentd7bd9cd469ff6871420007f091ef52fc32d2ca99 (diff)
downloadrust-f1548ec94dcc32634a607389765f76f51cd94eee.tar.gz
rust-f1548ec94dcc32634a607389765f76f51cd94eee.zip
Remove redundant `-Wl,-syslibroot`
Clang already passes this when invoking the linker:
https://github.com/llvm/llvm-project/blob/llvmorg-17.0.6/clang/lib/Driver/ToolChains/Darwin.cpp#L439-L442
Diffstat (limited to 'compiler/rustc_codegen_ssa/src')
-rw-r--r--compiler/rustc_codegen_ssa/src/back/link.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
index 435b517e602..a35899bca52 100644
--- a/compiler/rustc_codegen_ssa/src/back/link.rs
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -2939,7 +2939,13 @@ fn add_apple_sdk(cmd: &mut dyn Linker, sess: &Session, flavor: LinkerFlavor) {
 
     match flavor {
         LinkerFlavor::Darwin(Cc::Yes, _) => {
-            cmd.args(&["-isysroot", &sdk_root, "-Wl,-syslibroot", &sdk_root]);
+            // Use `-isysroot` instead of `--sysroot`, as only the former
+            // makes Clang treat it as a platform SDK.
+            //
+            // This is admittedly a bit strange, as on most targets
+            // `-isysroot` only applies to include header files, but on Apple
+            // targets this also applies to libraries and frameworks.
+            cmd.args(&["-isysroot", &sdk_root]);
         }
         LinkerFlavor::Darwin(Cc::No, _) => {
             cmd.args(&["-syslibroot", &sdk_root]);