alicelinux

A lightweight musl + clang/llvm + libressl + busybox distro
git clone https://codeberg.org/emmett1/alicelinux
Log | Files | Refs | README | LICENSE

fix-linux_musl_base.patch (2979B)


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