crux-musl

Unnamed repository; edit this file 'description' to name the repository.
git clone https://codeberg.org/emmett1/crux-musl
Log | Files | Refs | README | LICENSE

fix-linux_musl_base.patch (2983B)


      1 diff --git a/compiler/rustc_target/src/spec/base/linux_musl.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs
      2 index 1a854fe..7b0cc7b 100644
      3 --- a/compiler/rustc_target/src/spec/base/linux_musl.rs
      4 +++ b/compiler/rustc_target/src/spec/base/linux_musl.rs
      5 @@ -1,12 +1,9 @@
      6 -use crate::spec::{LinkSelfContainedDefault, TargetOptions, base, crt_objects};
      7 +use crate::spec::{base, TargetOptions};
      8  
      9  pub(crate) fn opts() -> TargetOptions {
     10      let mut base = base::linux::opts();
     11  
     12      base.env = "musl".into();
     13 -    base.pre_link_objects_self_contained = crt_objects::pre_musl_self_contained();
     14 -    base.post_link_objects_self_contained = crt_objects::post_musl_self_contained();
     15 -    base.link_self_contained = LinkSelfContainedDefault::InferredForMusl;
     16  
     17      base
     18  }
     19 diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
     20 index e3b6430..13a96e2 100644
     21 --- a/compiler/rustc_target/src/spec/crt_objects.rs
     22 +++ b/compiler/rustc_target/src/spec/crt_objects.rs
     23 @@ -62,28 +62,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects {
     24      ])
     25  }
     26  
     27 -pub(super) fn pre_musl_self_contained() -> CrtObjects {
     28 -    new(&[
     29 -        (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o", "crtbegin.o"]),
     30 -        (LinkOutputKind::DynamicPicExe, &["Scrt1.o", "crti.o", "crtbeginS.o"]),
     31 -        (LinkOutputKind::StaticNoPicExe, &["crt1.o", "crti.o", "crtbegin.o"]),
     32 -        (LinkOutputKind::StaticPicExe, &["rcrt1.o", "crti.o", "crtbeginS.o"]),
     33 -        (LinkOutputKind::DynamicDylib, &["crti.o", "crtbeginS.o"]),
     34 -        (LinkOutputKind::StaticDylib, &["crti.o", "crtbeginS.o"]),
     35 -    ])
     36 -}
     37 -
     38 -pub(super) fn post_musl_self_contained() -> CrtObjects {
     39 -    new(&[
     40 -        (LinkOutputKind::DynamicNoPicExe, &["crtend.o", "crtn.o"]),
     41 -        (LinkOutputKind::DynamicPicExe, &["crtendS.o", "crtn.o"]),
     42 -        (LinkOutputKind::StaticNoPicExe, &["crtend.o", "crtn.o"]),
     43 -        (LinkOutputKind::StaticPicExe, &["crtendS.o", "crtn.o"]),
     44 -        (LinkOutputKind::DynamicDylib, &["crtendS.o", "crtn.o"]),
     45 -        (LinkOutputKind::StaticDylib, &["crtendS.o", "crtn.o"]),
     46 -    ])
     47 -}
     48 -
     49  pub(super) fn pre_mingw_self_contained() -> CrtObjects {
     50      new(&[
     51          (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
     52 diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs
     53 index 8dcdc5b..25f53d6 100644
     54 --- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs
     55 +++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs
     56 @@ -14,8 +14,7 @@ pub(crate) fn target() -> Target {
     57          | SanitizerSet::MEMORY
     58          | SanitizerSet::THREAD;
     59      base.supports_xray = true;
     60 -    // FIXME(compiler-team#422): musl targets should be dynamically linked by default.
     61 -    base.crt_static_default = true;
     62 +    base.crt_static_default = false;
     63  
     64      Target {
     65          llvm_target: "x86_64-unknown-linux-musl".into(),