Update to Rust 1.80.1
Resolves: RHEL-61966 Related: RHEL-61979
This commit is contained in:
parent
707934d3c6
commit
45b7fb8bac
2
.gitignore
vendored
2
.gitignore
vendored
@ -25,3 +25,5 @@ SOURCES/wasi-libc-wasi-sdk-17.tar.gz
|
|||||||
/rustc-1.78.0-src.tar.xz
|
/rustc-1.78.0-src.tar.xz
|
||||||
/rustc-1.79.0-src.tar.xz
|
/rustc-1.79.0-src.tar.xz
|
||||||
/wasi-libc-wasi-sdk-22.tar.gz
|
/wasi-libc-wasi-sdk-22.tar.gz
|
||||||
|
/rustc-1.80.0-src.tar.xz
|
||||||
|
/rustc-1.80.1-src.tar.xz
|
||||||
|
@ -1,212 +0,0 @@
|
|||||||
From 49166c7dd925244f631277b4aa9ae4233f300884 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com>
|
|
||||||
Date: Sat, 27 Jul 2024 15:08:11 +0200
|
|
||||||
Subject: [PATCH] Disable jump threading of float equality
|
|
||||||
|
|
||||||
Jump threading stores values as `u128` (`ScalarInt`) and does its
|
|
||||||
comparisons for equality as integer comparisons.
|
|
||||||
This works great for integers. Sadly, not everything is an integer.
|
|
||||||
|
|
||||||
Floats famously have wonky equality semantcs, with `NaN!=NaN` and
|
|
||||||
`0.0 == -0.0`. This does not match our beautiful integer bitpattern
|
|
||||||
equality and therefore causes things to go horribly wrong.
|
|
||||||
|
|
||||||
While jump threading could be extended to support floats by remembering
|
|
||||||
that they're floats in the value state and handling them properly,
|
|
||||||
it's signficantly easier to just disable it for now.
|
|
||||||
|
|
||||||
(cherry picked from commit eca0a7e72346ba123ace318a0f9c28c57d990aeb)
|
|
||||||
---
|
|
||||||
.../rustc_mir_transform/src/jump_threading.rs | 7 +++
|
|
||||||
...ding.floats.JumpThreading.panic-abort.diff | 59 +++++++++++++++++++
|
|
||||||
...ing.floats.JumpThreading.panic-unwind.diff | 59 +++++++++++++++++++
|
|
||||||
tests/mir-opt/jump_threading.rs | 12 ++++
|
|
||||||
4 files changed, 137 insertions(+)
|
|
||||||
create mode 100644 tests/mir-opt/jump_threading.floats.JumpThreading.panic-abort.diff
|
|
||||||
create mode 100644 tests/mir-opt/jump_threading.floats.JumpThreading.panic-unwind.diff
|
|
||||||
|
|
||||||
diff --git a/compiler/rustc_mir_transform/src/jump_threading.rs b/compiler/rustc_mir_transform/src/jump_threading.rs
|
|
||||||
index a458297210db..e2d2864ad2a0 100644
|
|
||||||
--- a/compiler/rustc_mir_transform/src/jump_threading.rs
|
|
||||||
+++ b/compiler/rustc_mir_transform/src/jump_threading.rs
|
|
||||||
@@ -493,6 +493,13 @@ fn process_assign(
|
|
||||||
BinOp::Ne => ScalarInt::FALSE,
|
|
||||||
_ => return None,
|
|
||||||
};
|
|
||||||
+ if value.const_.ty().is_floating_point() {
|
|
||||||
+ // Floating point equality does not follow bit-patterns.
|
|
||||||
+ // -0.0 and NaN both have special rules for equality,
|
|
||||||
+ // and therefore we cannot use integer comparisons for them.
|
|
||||||
+ // Avoid handling them, though this could be extended in the future.
|
|
||||||
+ return None;
|
|
||||||
+ }
|
|
||||||
let value = value.const_.normalize(self.tcx, self.param_env).try_to_scalar_int()?;
|
|
||||||
let conds = conditions.map(self.arena, |c| Condition {
|
|
||||||
value,
|
|
||||||
diff --git a/tests/mir-opt/jump_threading.floats.JumpThreading.panic-abort.diff b/tests/mir-opt/jump_threading.floats.JumpThreading.panic-abort.diff
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..6ca37e96d297
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/mir-opt/jump_threading.floats.JumpThreading.panic-abort.diff
|
|
||||||
@@ -0,0 +1,59 @@
|
|
||||||
+- // MIR for `floats` before JumpThreading
|
|
||||||
++ // MIR for `floats` after JumpThreading
|
|
||||||
+
|
|
||||||
+ fn floats() -> u32 {
|
|
||||||
+ let mut _0: u32;
|
|
||||||
+ let _1: f64;
|
|
||||||
+ let mut _2: bool;
|
|
||||||
+ let mut _3: bool;
|
|
||||||
+ let mut _4: f64;
|
|
||||||
+ scope 1 {
|
|
||||||
+ debug x => _1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb0: {
|
|
||||||
+ StorageLive(_1);
|
|
||||||
+ StorageLive(_2);
|
|
||||||
+ _2 = const true;
|
|
||||||
+- switchInt(move _2) -> [0: bb2, otherwise: bb1];
|
|
||||||
++ goto -> bb1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb1: {
|
|
||||||
+ _1 = const -0f64;
|
|
||||||
+ goto -> bb3;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb2: {
|
|
||||||
+ _1 = const 1f64;
|
|
||||||
+ goto -> bb3;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb3: {
|
|
||||||
+ StorageDead(_2);
|
|
||||||
+ StorageLive(_3);
|
|
||||||
+ StorageLive(_4);
|
|
||||||
+ _4 = _1;
|
|
||||||
+ _3 = Eq(move _4, const 0f64);
|
|
||||||
+ switchInt(move _3) -> [0: bb5, otherwise: bb4];
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb4: {
|
|
||||||
+ StorageDead(_4);
|
|
||||||
+ _0 = const 0_u32;
|
|
||||||
+ goto -> bb6;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb5: {
|
|
||||||
+ StorageDead(_4);
|
|
||||||
+ _0 = const 1_u32;
|
|
||||||
+ goto -> bb6;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb6: {
|
|
||||||
+ StorageDead(_3);
|
|
||||||
+ StorageDead(_1);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
diff --git a/tests/mir-opt/jump_threading.floats.JumpThreading.panic-unwind.diff b/tests/mir-opt/jump_threading.floats.JumpThreading.panic-unwind.diff
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..6ca37e96d297
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/mir-opt/jump_threading.floats.JumpThreading.panic-unwind.diff
|
|
||||||
@@ -0,0 +1,59 @@
|
|
||||||
+- // MIR for `floats` before JumpThreading
|
|
||||||
++ // MIR for `floats` after JumpThreading
|
|
||||||
+
|
|
||||||
+ fn floats() -> u32 {
|
|
||||||
+ let mut _0: u32;
|
|
||||||
+ let _1: f64;
|
|
||||||
+ let mut _2: bool;
|
|
||||||
+ let mut _3: bool;
|
|
||||||
+ let mut _4: f64;
|
|
||||||
+ scope 1 {
|
|
||||||
+ debug x => _1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb0: {
|
|
||||||
+ StorageLive(_1);
|
|
||||||
+ StorageLive(_2);
|
|
||||||
+ _2 = const true;
|
|
||||||
+- switchInt(move _2) -> [0: bb2, otherwise: bb1];
|
|
||||||
++ goto -> bb1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb1: {
|
|
||||||
+ _1 = const -0f64;
|
|
||||||
+ goto -> bb3;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb2: {
|
|
||||||
+ _1 = const 1f64;
|
|
||||||
+ goto -> bb3;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb3: {
|
|
||||||
+ StorageDead(_2);
|
|
||||||
+ StorageLive(_3);
|
|
||||||
+ StorageLive(_4);
|
|
||||||
+ _4 = _1;
|
|
||||||
+ _3 = Eq(move _4, const 0f64);
|
|
||||||
+ switchInt(move _3) -> [0: bb5, otherwise: bb4];
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb4: {
|
|
||||||
+ StorageDead(_4);
|
|
||||||
+ _0 = const 0_u32;
|
|
||||||
+ goto -> bb6;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb5: {
|
|
||||||
+ StorageDead(_4);
|
|
||||||
+ _0 = const 1_u32;
|
|
||||||
+ goto -> bb6;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bb6: {
|
|
||||||
+ StorageDead(_3);
|
|
||||||
+ StorageDead(_1);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
diff --git a/tests/mir-opt/jump_threading.rs b/tests/mir-opt/jump_threading.rs
|
|
||||||
index 57f4e4a2654f..3e7e8995f1a3 100644
|
|
||||||
--- a/tests/mir-opt/jump_threading.rs
|
|
||||||
+++ b/tests/mir-opt/jump_threading.rs
|
|
||||||
@@ -514,6 +514,16 @@ fn assume(a: u8, b: bool) -> u8 {
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
+fn floats() -> u32 {
|
|
||||||
+ // CHECK-LABEL: fn floats(
|
|
||||||
+ // CHECK: switchInt(
|
|
||||||
+
|
|
||||||
+ // Test for issue #128243, where float equality was assumed to be bitwise.
|
|
||||||
+ // When adding float support, it must be ensured that this continues working properly.
|
|
||||||
+ let x = if true { -0.0 } else { 1.0 };
|
|
||||||
+ if x == 0.0 { 0 } else { 1 }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
fn main() {
|
|
||||||
// CHECK-LABEL: fn main(
|
|
||||||
too_complex(Ok(0));
|
|
||||||
@@ -528,6 +538,7 @@ fn main() {
|
|
||||||
disappearing_bb(7);
|
|
||||||
aggregate(7);
|
|
||||||
assume(7, false);
|
|
||||||
+ floats();
|
|
||||||
}
|
|
||||||
|
|
||||||
// EMIT_MIR jump_threading.too_complex.JumpThreading.diff
|
|
||||||
@@ -542,3 +553,4 @@ fn main() {
|
|
||||||
// EMIT_MIR jump_threading.disappearing_bb.JumpThreading.diff
|
|
||||||
// EMIT_MIR jump_threading.aggregate.JumpThreading.diff
|
|
||||||
// EMIT_MIR jump_threading.assume.JumpThreading.diff
|
|
||||||
+// EMIT_MIR jump_threading.floats.JumpThreading.diff
|
|
||||||
--
|
|
||||||
2.46.0
|
|
||||||
|
|
@ -1,264 +0,0 @@
|
|||||||
From 706f06c39a9e08a4708a53722429d13ae4069c2f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Josh Stone <jistone@redhat.com>
|
|
||||||
Date: Wed, 1 May 2024 15:25:26 -0700
|
|
||||||
Subject: [PATCH] Use an explicit x86-64 cpu in tests that are sensitive to it
|
|
||||||
|
|
||||||
There are a few tests that depend on some target features **not** being
|
|
||||||
enabled by default, and usually they are correct with the default x86-64
|
|
||||||
target CPU. However, in downstream builds we have modified the default
|
|
||||||
to fit our distros -- `x86-64-v2` in RHEL 9 and `x86-64-v3` in RHEL 10
|
|
||||||
-- and the latter especially trips tests that expect not to have AVX.
|
|
||||||
|
|
||||||
These cases are few enough that we can just set them back explicitly.
|
|
||||||
---
|
|
||||||
tests/assembly/simd-intrinsic-mask-reduce.rs | 1 +
|
|
||||||
tests/assembly/x86_64-floating-point-clamp.rs | 2 +-
|
|
||||||
.../codegen/target-feature-inline-closure.rs | 2 +-
|
|
||||||
tests/ui/asm/x86_64/target-feature-attr.rs | 1 +
|
|
||||||
.../ui/asm/x86_64/target-feature-attr.stderr | 8 +++---
|
|
||||||
.../const-eval/const_fn_target_feature.rs | 2 +-
|
|
||||||
.../rfc-2396-target_feature-11/safe-calls.rs | 1 +
|
|
||||||
.../safe-calls.stderr | 28 +++++++++----------
|
|
||||||
tests/ui/sse2.rs | 4 +--
|
|
||||||
9 files changed, 26 insertions(+), 23 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tests/assembly/simd-intrinsic-mask-reduce.rs b/tests/assembly/simd-intrinsic-mask-reduce.rs
|
|
||||||
index 763401755fad..0d77fc410511 100644
|
|
||||||
--- a/tests/assembly/simd-intrinsic-mask-reduce.rs
|
|
||||||
+++ b/tests/assembly/simd-intrinsic-mask-reduce.rs
|
|
||||||
@@ -1,6 +1,7 @@
|
|
||||||
// verify that simd mask reductions do not introduce additional bit shift operations
|
|
||||||
//@ revisions: x86 aarch64
|
|
||||||
//@ [x86] compile-flags: --target=x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
|
|
||||||
+//@ [x86] compile-flags: -C target-cpu=x86-64
|
|
||||||
//@ [x86] needs-llvm-components: x86
|
|
||||||
//@ [aarch64] compile-flags: --target=aarch64-unknown-linux-gnu
|
|
||||||
//@ [aarch64] needs-llvm-components: aarch64
|
|
||||||
diff --git a/tests/assembly/x86_64-floating-point-clamp.rs b/tests/assembly/x86_64-floating-point-clamp.rs
|
|
||||||
index 4a72a7f44fa0..b963aee35590 100644
|
|
||||||
--- a/tests/assembly/x86_64-floating-point-clamp.rs
|
|
||||||
+++ b/tests/assembly/x86_64-floating-point-clamp.rs
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
// so check to make sure that's what it's actually emitting.
|
|
||||||
|
|
||||||
//@ assembly-output: emit-asm
|
|
||||||
-//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
|
||||||
+//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel -C target-cpu=x86-64
|
|
||||||
//@ only-x86_64
|
|
||||||
//@ ignore-sgx
|
|
||||||
|
|
||||||
diff --git a/tests/codegen/target-feature-inline-closure.rs b/tests/codegen/target-feature-inline-closure.rs
|
|
||||||
index 88bd413a8707..20bb4e66ff21 100644
|
|
||||||
--- a/tests/codegen/target-feature-inline-closure.rs
|
|
||||||
+++ b/tests/codegen/target-feature-inline-closure.rs
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
//@ only-x86_64
|
|
||||||
-//@ compile-flags: -Copt-level=3
|
|
||||||
+//@ compile-flags: -Copt-level=3 -Ctarget-cpu=x86-64
|
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
|
||||||
#![feature(target_feature_11)]
|
|
||||||
diff --git a/tests/ui/asm/x86_64/target-feature-attr.rs b/tests/ui/asm/x86_64/target-feature-attr.rs
|
|
||||||
index 820be132ef79..51829be15065 100644
|
|
||||||
--- a/tests/ui/asm/x86_64/target-feature-attr.rs
|
|
||||||
+++ b/tests/ui/asm/x86_64/target-feature-attr.rs
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
//@ only-x86_64
|
|
||||||
+//@ compile-flags: -C target-cpu=x86-64
|
|
||||||
|
|
||||||
#![feature(avx512_target_feature)]
|
|
||||||
|
|
||||||
diff --git a/tests/ui/asm/x86_64/target-feature-attr.stderr b/tests/ui/asm/x86_64/target-feature-attr.stderr
|
|
||||||
index c852726ee7ff..1a9962732cfb 100644
|
|
||||||
--- a/tests/ui/asm/x86_64/target-feature-attr.stderr
|
|
||||||
+++ b/tests/ui/asm/x86_64/target-feature-attr.stderr
|
|
||||||
@@ -1,23 +1,23 @@
|
|
||||||
error: register class `ymm_reg` requires the `avx` target feature
|
|
||||||
- --> $DIR/target-feature-attr.rs:18:40
|
|
||||||
+ --> $DIR/target-feature-attr.rs:19:40
|
|
||||||
|
|
|
||||||
LL | asm!("vaddps {2:y}, {0:y}, {1:y}", in(ymm_reg) x, in(ymm_reg) y, lateout(ymm_reg) x);
|
|
||||||
| ^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error: register class `ymm_reg` requires the `avx` target feature
|
|
||||||
- --> $DIR/target-feature-attr.rs:18:55
|
|
||||||
+ --> $DIR/target-feature-attr.rs:19:55
|
|
||||||
|
|
|
||||||
LL | asm!("vaddps {2:y}, {0:y}, {1:y}", in(ymm_reg) x, in(ymm_reg) y, lateout(ymm_reg) x);
|
|
||||||
| ^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error: register class `ymm_reg` requires the `avx` target feature
|
|
||||||
- --> $DIR/target-feature-attr.rs:18:70
|
|
||||||
+ --> $DIR/target-feature-attr.rs:19:70
|
|
||||||
|
|
|
||||||
LL | asm!("vaddps {2:y}, {0:y}, {1:y}", in(ymm_reg) x, in(ymm_reg) y, lateout(ymm_reg) x);
|
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error: register class `kreg` requires at least one of the following target features: avx512bw, avx512f
|
|
||||||
- --> $DIR/target-feature-attr.rs:33:23
|
|
||||||
+ --> $DIR/target-feature-attr.rs:34:23
|
|
||||||
|
|
|
||||||
LL | asm!("/* {0} */", in(kreg) x);
|
|
||||||
| ^^^^^^^^^^
|
|
||||||
diff --git a/tests/ui/consts/const-eval/const_fn_target_feature.rs b/tests/ui/consts/const-eval/const_fn_target_feature.rs
|
|
||||||
index b56b68a57958..d0de9d8d7a34 100644
|
|
||||||
--- a/tests/ui/consts/const-eval/const_fn_target_feature.rs
|
|
||||||
+++ b/tests/ui/consts/const-eval/const_fn_target_feature.rs
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
//@ only-x86_64
|
|
||||||
-//@ compile-flags:-C target-feature=+ssse3
|
|
||||||
+//@ compile-flags: -C target-cpu=x86-64 -C target-feature=+ssse3
|
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
|
||||||
|
|
||||||
diff --git a/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.rs b/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.rs
|
|
||||||
index c73b8d7e4d29..6fb0688008e6 100644
|
|
||||||
--- a/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.rs
|
|
||||||
+++ b/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.rs
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
//@ only-x86_64
|
|
||||||
+//@ compile-flags: -C target-cpu=x86-64
|
|
||||||
|
|
||||||
#![feature(target_feature_11)]
|
|
||||||
|
|
||||||
diff --git a/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr b/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr
|
|
||||||
index d9d7e297f8e9..fed3da6594cb 100644
|
|
||||||
--- a/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr
|
|
||||||
+++ b/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
error[E0133]: call to function `sse2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:25:5
|
|
||||||
+ --> $DIR/safe-calls.rs:26:5
|
|
||||||
|
|
|
||||||
LL | sse2();
|
|
||||||
| ^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -8,7 +8,7 @@ LL | sse2();
|
|
||||||
= note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
|
|
||||||
|
|
||||||
error[E0133]: call to function `avx_bmi2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:27:5
|
|
||||||
+ --> $DIR/safe-calls.rs:28:5
|
|
||||||
|
|
|
||||||
LL | avx_bmi2();
|
|
||||||
| ^^^^^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -16,7 +16,7 @@ LL | avx_bmi2();
|
|
||||||
= help: in order for the call to be safe, the context requires the following additional target features: avx and bmi2
|
|
||||||
|
|
||||||
error[E0133]: call to function `Quux::avx_bmi2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:29:5
|
|
||||||
+ --> $DIR/safe-calls.rs:30:5
|
|
||||||
|
|
|
||||||
LL | Quux.avx_bmi2();
|
|
||||||
| ^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -24,7 +24,7 @@ LL | Quux.avx_bmi2();
|
|
||||||
= help: in order for the call to be safe, the context requires the following additional target features: avx and bmi2
|
|
||||||
|
|
||||||
error[E0133]: call to function `avx_bmi2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:35:5
|
|
||||||
+ --> $DIR/safe-calls.rs:36:5
|
|
||||||
|
|
|
||||||
LL | avx_bmi2();
|
|
||||||
| ^^^^^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -32,7 +32,7 @@ LL | avx_bmi2();
|
|
||||||
= help: in order for the call to be safe, the context requires the following additional target features: avx and bmi2
|
|
||||||
|
|
||||||
error[E0133]: call to function `Quux::avx_bmi2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:37:5
|
|
||||||
+ --> $DIR/safe-calls.rs:38:5
|
|
||||||
|
|
|
||||||
LL | Quux.avx_bmi2();
|
|
||||||
| ^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -40,7 +40,7 @@ LL | Quux.avx_bmi2();
|
|
||||||
= help: in order for the call to be safe, the context requires the following additional target features: avx and bmi2
|
|
||||||
|
|
||||||
error[E0133]: call to function `sse2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:43:5
|
|
||||||
+ --> $DIR/safe-calls.rs:44:5
|
|
||||||
|
|
|
||||||
LL | sse2();
|
|
||||||
| ^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -49,7 +49,7 @@ LL | sse2();
|
|
||||||
= note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
|
|
||||||
|
|
||||||
error[E0133]: call to function `avx_bmi2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:45:5
|
|
||||||
+ --> $DIR/safe-calls.rs:46:5
|
|
||||||
|
|
|
||||||
LL | avx_bmi2();
|
|
||||||
| ^^^^^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -57,7 +57,7 @@ LL | avx_bmi2();
|
|
||||||
= help: in order for the call to be safe, the context requires the following additional target feature: bmi2
|
|
||||||
|
|
||||||
error[E0133]: call to function `Quux::avx_bmi2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:47:5
|
|
||||||
+ --> $DIR/safe-calls.rs:48:5
|
|
||||||
|
|
|
||||||
LL | Quux.avx_bmi2();
|
|
||||||
| ^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -65,7 +65,7 @@ LL | Quux.avx_bmi2();
|
|
||||||
= help: in order for the call to be safe, the context requires the following additional target feature: bmi2
|
|
||||||
|
|
||||||
error[E0133]: call to function `sse2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:54:5
|
|
||||||
+ --> $DIR/safe-calls.rs:55:5
|
|
||||||
|
|
|
||||||
LL | sse2();
|
|
||||||
| ^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -74,7 +74,7 @@ LL | sse2();
|
|
||||||
= note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
|
|
||||||
|
|
||||||
error[E0133]: call to function `sse2` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:58:15
|
|
||||||
+ --> $DIR/safe-calls.rs:59:15
|
|
||||||
|
|
|
||||||
LL | const _: () = sse2();
|
|
||||||
| ^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -83,7 +83,7 @@ LL | const _: () = sse2();
|
|
||||||
= note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
|
|
||||||
|
|
||||||
error[E0133]: call to function `sse2_and_fxsr` with `#[target_feature]` is unsafe and requires unsafe function or block
|
|
||||||
- --> $DIR/safe-calls.rs:61:15
|
|
||||||
+ --> $DIR/safe-calls.rs:62:15
|
|
||||||
|
|
|
||||||
LL | const _: () = sse2_and_fxsr();
|
|
||||||
| ^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -92,7 +92,7 @@ LL | const _: () = sse2_and_fxsr();
|
|
||||||
= note: the fxsr and sse2 target features being enabled in the build configuration does not remove the requirement to list them in `#[target_feature]`
|
|
||||||
|
|
||||||
error: call to function `sse2` with `#[target_feature]` is unsafe and requires unsafe block (error E0133)
|
|
||||||
- --> $DIR/safe-calls.rs:68:5
|
|
||||||
+ --> $DIR/safe-calls.rs:69:5
|
|
||||||
|
|
|
||||||
LL | sse2();
|
|
||||||
| ^^^^^^ call to function with `#[target_feature]`
|
|
||||||
@@ -101,12 +101,12 @@ LL | sse2();
|
|
||||||
= help: in order for the call to be safe, the context requires the following additional target feature: sse2
|
|
||||||
= note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
|
|
||||||
note: an unsafe function restricts its caller, but its body is safe by default
|
|
||||||
- --> $DIR/safe-calls.rs:67:1
|
|
||||||
+ --> $DIR/safe-calls.rs:68:1
|
|
||||||
|
|
|
||||||
LL | unsafe fn needs_unsafe_block() {
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
note: the lint level is defined here
|
|
||||||
- --> $DIR/safe-calls.rs:64:8
|
|
||||||
+ --> $DIR/safe-calls.rs:65:8
|
|
||||||
|
|
|
||||||
LL | #[deny(unsafe_op_in_unsafe_fn)]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
diff --git a/tests/ui/sse2.rs b/tests/ui/sse2.rs
|
|
||||||
index fa6d79713b4b..c203ca2716ff 100644
|
|
||||||
--- a/tests/ui/sse2.rs
|
|
||||||
+++ b/tests/ui/sse2.rs
|
|
||||||
@@ -20,6 +20,6 @@ fn main() {
|
|
||||||
"SSE2 was not detected as available on an x86 platform");
|
|
||||||
}
|
|
||||||
// check a negative case too -- allowed on x86, but not enabled by default
|
|
||||||
- assert!(cfg!(not(target_feature = "avx2")),
|
|
||||||
- "AVX2 shouldn't be detected as available by default on any platform");
|
|
||||||
+ assert!(cfg!(not(target_feature = "avx512f")),
|
|
||||||
+ "AVX512 shouldn't be detected as available by default on any platform");
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.44.0
|
|
||||||
|
|
@ -63,3 +63,13 @@ diff -Naur a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softflo
|
|||||||
--
|
--
|
||||||
2.41.0
|
2.41.0
|
||||||
|
|
||||||
|
--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs 2024-04-09 19:20:09.000000000 +0200
|
||||||
|
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs 2024-04-26 11:22:31.988601550 +0200
|
||||||
|
@@ -9,6 +9,7 @@ pub fn target() -> Target {
|
||||||
|
base.max_atomic_width = Some(128);
|
||||||
|
base.add_pre_link_args(LinkerFlavor::Msvc(Lld::No), &["/machine:arm64"]);
|
||||||
|
base.features = "+v8a".into();
|
||||||
|
+ base.linker = Some("lld".into());
|
||||||
|
|
||||||
|
Target {
|
||||||
|
llvm_target: "aarch64-unknown-windows".into(),
|
||||||
|
47
rust.spec
47
rust.spec
@ -1,6 +1,6 @@
|
|||||||
Name: rust
|
Name: rust
|
||||||
Version: 1.79.0
|
Version: 1.80.1
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: The Rust Programming Language
|
Summary: The Rust Programming Language
|
||||||
License: (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 AND Unicode-DFS-2016)
|
License: (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 AND Unicode-DFS-2016)
|
||||||
# ^ written as: (rust itself) and (bundled libraries)
|
# ^ written as: (rust itself) and (bundled libraries)
|
||||||
@ -14,9 +14,9 @@ ExclusiveArch: %{rust_arches}
|
|||||||
# To bootstrap from scratch, set the channel and date from src/stage0.json
|
# To bootstrap from scratch, set the channel and date from src/stage0.json
|
||||||
# e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13
|
# e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13
|
||||||
# or nightly wants some beta-YYYY-MM-DD
|
# or nightly wants some beta-YYYY-MM-DD
|
||||||
%global bootstrap_version 1.78.0
|
%global bootstrap_version 1.79.0
|
||||||
%global bootstrap_channel 1.78.0
|
%global bootstrap_channel 1.79.0
|
||||||
%global bootstrap_date 2024-05-02
|
%global bootstrap_date 2024-06-13
|
||||||
|
|
||||||
# Only the specified arches will use bootstrap binaries.
|
# Only the specified arches will use bootstrap binaries.
|
||||||
# NOTE: Those binaries used to be uploaded with every new release, but that was
|
# NOTE: Those binaries used to be uploaded with every new release, but that was
|
||||||
@ -35,12 +35,18 @@ ExclusiveArch: %{rust_arches}
|
|||||||
# NB: wasm32-wasi is being gradually replaced by wasm32-wasip1
|
# NB: wasm32-wasi is being gradually replaced by wasm32-wasip1
|
||||||
# https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html
|
# https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html
|
||||||
%global wasm_targets wasm32-unknown-unknown wasm32-wasi wasm32-wasip1
|
%global wasm_targets wasm32-unknown-unknown wasm32-wasi wasm32-wasip1
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 10
|
%if 0%{?fedora}
|
||||||
%global extra_targets x86_64-unknown-none x86_64-unknown-uefi
|
%global extra_targets x86_64-unknown-none x86_64-unknown-uefi
|
||||||
%endif
|
%endif
|
||||||
|
%if 0%{?rhel} >= 10
|
||||||
|
%global extra_targets x86_64-unknown-none
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 10
|
%if 0%{?fedora}
|
||||||
|
%global extra_targets aarch64-unknown-none-softfloat aarch64-unknown-uefi
|
||||||
|
%endif
|
||||||
|
%if 0%{?rhel} >= 10
|
||||||
%global extra_targets aarch64-unknown-none-softfloat
|
%global extra_targets aarch64-unknown-none-softfloat
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
@ -152,16 +158,10 @@ Patch4: 0001-bootstrap-allow-disabling-target-self-contained.patch
|
|||||||
Patch5: 0002-set-an-external-library-path-for-wasm32-wasi.patch
|
Patch5: 0002-set-an-external-library-path-for-wasm32-wasi.patch
|
||||||
|
|
||||||
# We don't want to use the bundled library in libsqlite3-sys
|
# We don't want to use the bundled library in libsqlite3-sys
|
||||||
Patch6: rustc-1.79.0-unbundle-sqlite.patch
|
Patch6: rustc-1.80.0-unbundle-sqlite.patch
|
||||||
|
|
||||||
# https://github.com/rust-lang/rust/pull/124597
|
|
||||||
Patch7: 0001-Use-an-explicit-x86-64-cpu-in-tests-that-are-sensiti.patch
|
|
||||||
|
|
||||||
# Fix codegen test failure on big endian: https://github.com/rust-lang/rust/pull/126263
|
# Fix codegen test failure on big endian: https://github.com/rust-lang/rust/pull/126263
|
||||||
Patch8: 0001-Make-issue-122805.rs-big-endian-compatible.patch
|
Patch7: 0001-Make-issue-122805.rs-big-endian-compatible.patch
|
||||||
|
|
||||||
# https://github.com/rust-lang/rust/pull/128271
|
|
||||||
Patch9: 0001-Disable-jump-threading-of-float-equality.patch
|
|
||||||
|
|
||||||
### RHEL-specific patches below ###
|
### RHEL-specific patches below ###
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ Source101: cargo_vendor.attr
|
|||||||
Source102: cargo_vendor.prov
|
Source102: cargo_vendor.prov
|
||||||
|
|
||||||
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
|
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
|
||||||
Patch100: rustc-1.79.0-disable-libssh2.patch
|
Patch100: rustc-1.80.0-disable-libssh2.patch
|
||||||
|
|
||||||
# Get the Rust triple for any arch.
|
# Get the Rust triple for any arch.
|
||||||
%{lua: function rust_triple(arch)
|
%{lua: function rust_triple(arch)
|
||||||
@ -447,6 +447,12 @@ Requires: lld
|
|||||||
%target_description x86_64-unknown-none embedded
|
%target_description x86_64-unknown-none embedded
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %target_enabled aarch64-unknown-uefi
|
||||||
|
%target_package aarch64-unknown-uefi
|
||||||
|
Requires: lld
|
||||||
|
%target_description aarch64-unknown-uefi embedded
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %target_enabled x86_64-unknown-uefi
|
%if %target_enabled x86_64-unknown-uefi
|
||||||
%target_package x86_64-unknown-uefi
|
%target_package x86_64-unknown-uefi
|
||||||
Requires: lld
|
Requires: lld
|
||||||
@ -636,8 +642,6 @@ rm -rf %{wasi_libc_dir}/dlmalloc/
|
|||||||
%patch -P6 -p1
|
%patch -P6 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P7 -p1
|
%patch -P7 -p1
|
||||||
%patch -P8 -p1
|
|
||||||
%patch -P9 -p1
|
|
||||||
|
|
||||||
%if %with disabled_libssh2
|
%if %with disabled_libssh2
|
||||||
%patch -P100 -p1
|
%patch -P100 -p1
|
||||||
@ -1057,6 +1061,10 @@ timeout -v 30m %{__x} test --no-fail-fast rustfmt || :
|
|||||||
%target_files x86_64-unknown-none
|
%target_files x86_64-unknown-none
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %target_enabled aarch64-unknown-uefi
|
||||||
|
%target_files aarch64-unknown-uefi
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %target_enabled x86_64-unknown-uefi
|
%if %target_enabled x86_64-unknown-uefi
|
||||||
%target_files x86_64-unknown-uefi
|
%target_files x86_64-unknown-uefi
|
||||||
%endif
|
%endif
|
||||||
@ -1139,6 +1147,9 @@ timeout -v 30m %{__x} test --no-fail-fast rustfmt || :
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 22 2024 Josh Stone <jistone@redhat.com> - 1.80.1-1
|
||||||
|
- Update to 1.80.1
|
||||||
|
|
||||||
* Tue Aug 13 2024 Josh Stone <jistone@redhat.com> - 1.79.0-2
|
* Tue Aug 13 2024 Josh Stone <jistone@redhat.com> - 1.79.0-2
|
||||||
- Disable jump threading of float equality
|
- Disable jump threading of float equality
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
diff -up rustc-1.79.0-src/src/tools/cargo/Cargo.lock.orig rustc-1.79.0-src/src/tools/cargo/Cargo.lock
|
diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools/cargo/Cargo.lock
|
||||||
--- rustc-1.79.0-src/src/tools/cargo/Cargo.lock.orig 2024-06-13 16:37:16.640599290 -0700
|
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2024-07-05 18:14:51.101370053 -0700
|
||||||
+++ rustc-1.79.0-src/src/tools/cargo/Cargo.lock 2024-06-13 16:37:16.646599231 -0700
|
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2024-07-05 18:14:51.104370020 -0700
|
||||||
@@ -2150,7 +2150,6 @@ checksum = "ee4126d8b4ee5c9d9ea891dd875c
|
@@ -2151,7 +2151,6 @@ checksum = "ee4126d8b4ee5c9d9ea891dd875c
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"libc",
|
"libc",
|
||||||
@ -9,7 +9,7 @@ diff -up rustc-1.79.0-src/src/tools/cargo/Cargo.lock.orig rustc-1.79.0-src/src/t
|
|||||||
"libz-sys",
|
"libz-sys",
|
||||||
"openssl-sys",
|
"openssl-sys",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
@@ -2191,20 +2190,6 @@ dependencies = [
|
@@ -2192,20 +2191,6 @@ dependencies = [
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
"vcpkg",
|
"vcpkg",
|
||||||
]
|
]
|
||||||
@ -30,13 +30,13 @@ diff -up rustc-1.79.0-src/src/tools/cargo/Cargo.lock.orig rustc-1.79.0-src/src/t
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libz-sys"
|
name = "libz-sys"
|
||||||
diff -up rustc-1.79.0-src/src/tools/cargo/Cargo.toml.orig rustc-1.79.0-src/src/tools/cargo/Cargo.toml
|
diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools/cargo/Cargo.toml
|
||||||
--- rustc-1.79.0-src/src/tools/cargo/Cargo.toml.orig 2024-06-13 16:37:16.646599231 -0700
|
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2024-07-05 18:14:51.104370020 -0700
|
||||||
+++ rustc-1.79.0-src/src/tools/cargo/Cargo.toml 2024-06-13 16:39:06.040526596 -0700
|
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2024-07-05 18:15:36.584867840 -0700
|
||||||
@@ -44,7 +44,7 @@ curl = "0.4.46"
|
@@ -44,7 +44,7 @@ curl = "0.4.46"
|
||||||
curl-sys = "0.4.72"
|
curl-sys = "0.4.72"
|
||||||
filetime = "0.2.23"
|
filetime = "0.2.23"
|
||||||
flate2 = { version = "1.0.28", default-features = false, features = ["zlib"] }
|
flate2 = { version = "1.0.30", default-features = false, features = ["zlib"] }
|
||||||
-git2 = "0.18.3"
|
-git2 = "0.18.3"
|
||||||
+git2 = { version = "0.18.3", default-features = false, features = ["https"] }
|
+git2 = { version = "0.18.3", default-features = false, features = ["https"] }
|
||||||
git2-curl = "0.19.0"
|
git2-curl = "0.19.0"
|
@ -1,7 +1,7 @@
|
|||||||
diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools/cargo/Cargo.lock
|
diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools/cargo/Cargo.lock
|
||||||
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2006-07-24 10:21:28.000000000 +0900
|
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2006-07-23 18:21:28.000000000 -0700
|
||||||
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2024-05-06 14:13:00.172595245 +0900
|
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2024-07-05 18:09:20.585019493 -0700
|
||||||
@@ -2191,7 +2191,6 @@ version = "0.28.0"
|
@@ -2189,7 +2189,6 @@ version = "0.28.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f"
|
checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
@ -10,10 +10,10 @@ diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools
|
|||||||
"vcpkg",
|
"vcpkg",
|
||||||
]
|
]
|
||||||
diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools/cargo/Cargo.toml
|
diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools/cargo/Cargo.toml
|
||||||
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2024-05-06 14:13:00.173595257 +0900
|
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2024-07-05 18:09:20.585019493 -0700
|
||||||
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2024-05-06 14:13:54.089275003 +0900
|
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2024-07-05 18:10:13.753432408 -0700
|
||||||
@@ -77,7 +77,7 @@ proptest = "1.4.0"
|
@@ -77,7 +77,7 @@ proptest = "1.4.0"
|
||||||
pulldown-cmark = { version = "0.10.2", default-features = false, features = ["html"] }
|
pulldown-cmark = { version = "0.10.3", default-features = false, features = ["html"] }
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
regex = "1.10.4"
|
regex = "1.10.4"
|
||||||
-rusqlite = { version = "0.31.0", features = ["bundled"] }
|
-rusqlite = { version = "0.31.0", features = ["bundled"] }
|
2
sources
2
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (rustc-1.79.0-src.tar.xz) = 99d7f276292e5c270648473ff73e9888413a3325ef3a4d7a45f8ce77a42ac87996905f1d875888ce084b621f642017bc9e31a00da1439108dbe19b85d0eab085
|
SHA512 (rustc-1.80.1-src.tar.xz) = 3c746108a86eeb734c1a8c8f63ba1a45e2cb03a8cb553395a167d07dc3ce5d8d9ea365ddd95533b6952d915069b86cad7ad218d27861e0889f8e878136bd32ab
|
||||||
SHA512 (wasi-libc-wasi-sdk-22.tar.gz) = 3fcd5d6c0e09d824702165d8f1236e400b1d5e95fad14f1821d40de05340a044f0ec8a587d8478854252cc938a663aa9f854e6a5e683ef8f8349c60dc6c628ed
|
SHA512 (wasi-libc-wasi-sdk-22.tar.gz) = 3fcd5d6c0e09d824702165d8f1236e400b1d5e95fad14f1821d40de05340a044f0ec8a587d8478854252cc938a663aa9f854e6a5e683ef8f8349c60dc6c628ed
|
||||||
|
Loading…
Reference in New Issue
Block a user