commit:     54b996aa8002f62ad89732c53055d95331380b3a
Author:     Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  2 09:22:17 2025 +0000
Commit:     Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Jun  2 09:22:17 2025 +0000
URL:        https://gitweb.gentoo.org/proj/rust-patches.git/commit/?id=54b996aa

Add patches for Rust 1.78.0-r101

Patches:
- 1.67.0-doc-wasm.patch
- 1.74.1-cross-compile-libz.patch
- 1.78.0-ignore-broken-and-non-applicable-tests.patch
- 1.78.0-musl-dynamic-linking.patch
- 1.79.0-revert-8c40426.patch

Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>

 1.76.0-loong-code-model.patch                      | 73 ----------------------
 ....0-ignore-broken-and-non-applicable-tests.patch | 12 ++--
 ...king.patch => 1.78.0-musl-dynamic-linking.patch |  2 +-
 1.79.0-revert-8c40426.patch                        | 16 +++++
 4 files changed, 23 insertions(+), 80 deletions(-)

diff --git a/1.76.0-loong-code-model.patch b/1.76.0-loong-code-model.patch
deleted file mode 100644
index 02bfeca..0000000
--- a/1.76.0-loong-code-model.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-https://github.com/rust-lang/rust/pull/120661
-From: WANG Xuerui <[email protected]>
-Date: Mon, 5 Feb 2024 13:18:32 +0800
-Subject: [PATCH] target: default to the medium code model on LoongArch targets
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The Rust LoongArch targets have been using the default LLVM code model
-so far, which is "small" in LLVM-speak and "normal" in LoongArch-speak.
-As described in the "Code Model" section of LoongArch ELF psABI spec
-v20231219 [1], one can only make function calls as far as ±128MiB with
-the "normal" code model; this is insufficient for very large software
-containing Rust components that needs to be linked into the big text
-section, such as Chromium.
-
-Because:
-
-* we do not want to ask users to recompile std if they are to build
-  such software,
-* objects compiled with larger code models can be linked with those
-  with smaller code models without problems, and
-* the "medium" code model is comparable to the "small"/"normal" one
-  performance-wise (same data access pattern; each function call
-  becomes 2-insn long and indirect, but this may be relaxed back into
-  the direct 1-insn form in a future LLVM version), but is able to
-  perform function calls within ±128GiB,
-
-it is better to just switch the targets to the "medium" code model,
-which is also "medium" in LLVM-speak.
-
-[1]: https://github.com/loongson/la-abi-specs/blob/v2.30/laelf.adoc#code-models
---- a/compiler/rustc_target/src/spec/targets/loongarch64_unknown_linux_gnu.rs
-+++ b/compiler/rustc_target/src/spec/targets/loongarch64_unknown_linux_gnu.rs
-@@ -1,4 +1,4 @@
--use crate::spec::{base, Target, TargetOptions};
-+use crate::spec::{base, CodeModel, Target, TargetOptions};
- 
- pub fn target() -> Target {
-     Target {
-@@ -7,6 +7,7 @@ pub fn target() -> Target {
-         data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(),
-         arch: "loongarch64".into(),
-         options: TargetOptions {
-+            code_model: Some(CodeModel::Medium),
-             cpu: "generic".into(),
-             features: "+f,+d".into(),
-             llvm_abiname: "lp64d".into(),
---- a/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none.rs
-+++ b/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none.rs
-@@ -16,7 +16,7 @@ pub fn target() -> Target {
-             max_atomic_width: Some(64),
-             relocation_model: RelocModel::Static,
-             panic_strategy: PanicStrategy::Abort,
--            code_model: Some(CodeModel::Small),
-+            code_model: Some(CodeModel::Medium),
-             ..Default::default()
-         },
-     }
---- 
a/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none_softfloat.rs
-+++ 
b/compiler/rustc_target/src/spec/targets/loongarch64_unknown_none_softfloat.rs
-@@ -17,7 +17,7 @@ pub fn target() -> Target {
-             max_atomic_width: Some(64),
-             relocation_model: RelocModel::Static,
-             panic_strategy: PanicStrategy::Abort,
--            code_model: Some(CodeModel::Small),
-+            code_model: Some(CodeModel::Medium),
-             ..Default::default()
-         },
-     }
--- 
-2.43.0
-

diff --git a/1.70.0-ignore-broken-and-non-applicable-tests.patch 
b/1.78.0-ignore-broken-and-non-applicable-tests.patch
similarity index 80%
rename from 1.70.0-ignore-broken-and-non-applicable-tests.patch
rename to 1.78.0-ignore-broken-and-non-applicable-tests.patch
index 590f960..742c81a 100644
--- a/1.70.0-ignore-broken-and-non-applicable-tests.patch
+++ b/1.78.0-ignore-broken-and-non-applicable-tests.patch
@@ -12,13 +12,13 @@ sysroot-crates-are-unstable: can't run rustc without RPATH
 --- a/tests/ui/env-funky-keys.rs
 +++ b/tests/ui/env-funky-keys.rs
 @@ -1,6 +1,7 @@
- // run-pass
- // Ignore this test on Android, because it segfaults there.
+ //@ run-pass
+ //@ Ignore this test on Android, because it segfaults there.
  
-+// ignore-test
- // ignore-android
- // ignore-windows
- // ignore-cloudabi no execve
++//@ ignore-test
+ //@ ignore-android
+ //@ ignore-windows
+ //@ ignore-cloudabi no execve
 -- 
 2.24.1
 

diff --git a/1.75.0-musl-dynamic-linking.patch 
b/1.78.0-musl-dynamic-linking.patch
similarity index 88%
rename from 1.75.0-musl-dynamic-linking.patch
rename to 1.78.0-musl-dynamic-linking.patch
index 7dc34f8..25a281c 100644
--- a/1.75.0-musl-dynamic-linking.patch
+++ b/1.78.0-musl-dynamic-linking.patch
@@ -7,7 +7,7 @@ Signed-off-by: Jory Pratt <[email protected]>
 --- a/compiler/rustc_target/src/spec/base/linux_musl.rs
 +++ b/compiler/rustc_target/src/spec/base/linux_musl.rs
 @@ -10,7 +10,7 @@ pub fn opts() -> TargetOptions {
-     base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
+     base.link_self_contained = LinkSelfContainedDefault::InferredForMusl;
  
      // These targets statically link libc by default
 -    base.crt_static_default = true;

diff --git a/1.79.0-revert-8c40426.patch b/1.79.0-revert-8c40426.patch
new file mode 100644
index 0000000..3d1bb75
--- /dev/null
+++ b/1.79.0-revert-8c40426.patch
@@ -0,0 +1,16 @@
+This reverts commit 8c40426051a667673cdac9975f84cb6acd4e245f.
+
+https://bugs.gentoo.org/933382
+
+--- a/src/bootstrap/src/core/build_steps/llvm.rs
++++ b/src/bootstrap/src/core/build_steps/llvm.rs
+@@ -724,8 +724,7 @@ fn configure_cmake(
+             }
+         }
+         cfg.define("CMAKE_C_COMPILER", sanitize_cc(&cc))
+-            .define("CMAKE_CXX_COMPILER", sanitize_cc(&cxx))
+-            .define("CMAKE_ASM_COMPILER", sanitize_cc(&cc));
++            .define("CMAKE_CXX_COMPILER", sanitize_cc(&cxx));
+     }
+ 
+     cfg.build_arg("-j").build_arg(builder.jobs().to_string());

Reply via email to