Update to 1.58.0.

This commit is contained in:
Josh Stone 2022-01-13 11:41:45 -08:00
parent 36c3018948
commit 26168805e8
7 changed files with 90 additions and 234 deletions

7
.gitignore vendored
View File

@ -383,3 +383,10 @@
/rust-1.56.1-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.56.1-s390x-unknown-linux-gnu.tar.xz
/rust-1.56.1-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.58.0-src.tar.xz
/rust-1.57.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.57.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.57.0-i686-unknown-linux-gnu.tar.xz
/rust-1.57.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.57.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz

View File

@ -1,59 +0,0 @@
From aca8bcb48feca8c87b9af4e440835992d3f6d470 Mon Sep 17 00:00:00 2001
From: Pietro Albini <pietro.albini@ferrous-systems.com>
Date: Tue, 19 Oct 2021 09:29:19 +0200
Subject: [PATCH] remove "field is never read" warning
---
src/bootstrap/lib.rs | 1 -
src/bootstrap/metadata.rs | 3 +--
src/tools/bump-stage0/src/main.rs | 1 -
3 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index 2d4e15278972..3b3c8a9227d9 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -277,7 +277,6 @@ pub struct Build {
struct Crate {
name: Interned<String>,
deps: HashSet<Interned<String>>,
- id: String,
path: PathBuf,
}
diff --git a/src/bootstrap/metadata.rs b/src/bootstrap/metadata.rs
index a38391c7b88f..65e229697dc8 100644
--- a/src/bootstrap/metadata.rs
+++ b/src/bootstrap/metadata.rs
@@ -14,7 +14,6 @@ struct Output {
#[derive(Deserialize)]
struct Package {
- id: String,
name: String,
source: Option<String>,
manifest_path: String,
@@ -50,7 +49,7 @@ pub fn build(build: &mut Build) {
.filter(|dep| dep.source.is_none())
.map(|dep| INTERNER.intern_string(dep.name))
.collect();
- build.crates.insert(name, Crate { name, id: package.id, deps, path });
+ build.crates.insert(name, Crate { name, deps, path });
}
}
}
diff --git a/src/tools/bump-stage0/src/main.rs b/src/tools/bump-stage0/src/main.rs
index 96d3c8738433..d6364e28fef9 100644
--- a/src/tools/bump-stage0/src/main.rs
+++ b/src/tools/bump-stage0/src/main.rs
@@ -196,7 +196,6 @@ struct ManifestPackage {
#[derive(Debug, serde::Deserialize)]
struct ManifestTargetPackage {
- available: bool,
url: Option<String>,
hash: Option<String>,
xz_url: Option<String>,
--
2.33.1

View File

@ -1,94 +0,0 @@
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
index e77d29bed712..f3d8eb2602a3 100644
--- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
@@ -124,8 +124,18 @@ extern "C" LLVMValueRef LLVMRustGetOrInsertFunction(LLVMModuleRef M,
extern "C" LLVMValueRef
LLVMRustGetOrInsertGlobal(LLVMModuleRef M, const char *Name, size_t NameLen, LLVMTypeRef Ty) {
+ Module *Mod = unwrap(M);
StringRef NameRef(Name, NameLen);
- return wrap(unwrap(M)->getOrInsertGlobal(NameRef, unwrap(Ty)));
+
+ // We don't use Module::getOrInsertGlobal because that returns a Constant*,
+ // which may either be the real GlobalVariable*, or a constant bitcast of it
+ // if our type doesn't match the original declaration. We always want the
+ // GlobalVariable* so we can access linkage, visibility, etc.
+ GlobalVariable *GV = Mod->getGlobalVariable(NameRef, true);
+ if (!GV)
+ GV = new GlobalVariable(*Mod, unwrap(Ty), false,
+ GlobalValue::ExternalLinkage, nullptr, NameRef);
+ return wrap(GV);
}
extern "C" LLVMValueRef
diff --git a/src/test/ui/statics/issue-91050-1.rs b/src/test/ui/statics/issue-91050-1.rs
new file mode 100644
index 000000000000..403a41462ef1
--- /dev/null
+++ b/src/test/ui/statics/issue-91050-1.rs
@@ -0,0 +1,34 @@
+// build-pass
+// compile-flags: --crate-type=rlib --emit=llvm-ir -Cno-prepopulate-passes
+
+// This test declares globals by the same name with different types, which
+// caused problems because Module::getOrInsertGlobal would return a Constant*
+// bitcast instead of a GlobalVariable* that could access linkage/visibility.
+// In alt builds with LLVM assertions this would fail:
+//
+// rustc: /checkout/src/llvm-project/llvm/include/llvm/Support/Casting.h:269:
+// typename cast_retty<X, Y *>::ret_type llvm::cast(Y *) [X = llvm::GlobalValue, Y = llvm::Value]:
+// Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
+//
+// In regular builds, the bad cast was UB, like "Invalid LLVMRustVisibility value!"
+
+pub mod before {
+ #[no_mangle]
+ pub static GLOBAL1: [u8; 1] = [1];
+}
+
+pub mod inner {
+ extern "C" {
+ pub static GLOBAL1: u8;
+ pub static GLOBAL2: u8;
+ }
+
+ pub fn call() {
+ drop(unsafe { (GLOBAL1, GLOBAL2) });
+ }
+}
+
+pub mod after {
+ #[no_mangle]
+ pub static GLOBAL2: [u8; 1] = [2];
+}
diff --git a/src/test/ui/statics/issue-91050-2.rs b/src/test/ui/statics/issue-91050-2.rs
new file mode 100644
index 000000000000..2ff954d15cab
--- /dev/null
+++ b/src/test/ui/statics/issue-91050-2.rs
@@ -0,0 +1,24 @@
+// build-pass
+// compile-flags: --crate-type=rlib --emit=llvm-ir -Cno-prepopulate-passes
+
+// This is a variant of issue-91050-1.rs -- see there for an explanation.
+
+pub mod before {
+ extern "C" {
+ pub static GLOBAL1: [u8; 1];
+ }
+
+ pub unsafe fn do_something_with_array() -> u8 {
+ GLOBAL1[0]
+ }
+}
+
+pub mod inner {
+ extern "C" {
+ pub static GLOBAL1: u8;
+ }
+
+ pub unsafe fn call() -> u8 {
+ GLOBAL1 + 42
+ }
+}

120
rust.spec
View File

@ -5,14 +5,14 @@
# The channel can be stable, beta, or nightly
%{!?channel: %global channel stable}
# To bootstrap from scratch, set the channel and date from src/stage0.txt
# To bootstrap from scratch, set the channel and date from src/stage0.json
# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
# or nightly wants some beta-YYYY-MM-DD
# Note that cargo matches the program version here, not its crate version.
%global bootstrap_rust 1.56.1
%global bootstrap_cargo 1.56.1
%global bootstrap_channel 1.56.1
%global bootstrap_date 2021-11-01
%global bootstrap_rust 1.57.0
%global bootstrap_cargo 1.57.0
%global bootstrap_channel 1.57.0
%global bootstrap_date 2021-12-02
# Only the specified arches will use bootstrap binaries.
#global bootstrap_arches %%{rust_arches}
@ -23,33 +23,40 @@
%ifarch x86_64
%if 0%{?fedora}
%global mingw_targets i686-pc-windows-gnu x86_64-pc-windows-gnu
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
%global wasm_targets wasm32-unknown-unknown wasm32-wasi
%endif
%endif
# We need CRT files for *-wasi targets, at least as new as the commit in
# src/ci/docker/host-x86_64/dist-various-2/build-wasi-toolchain.sh
%global forgeurl1 https://github.com/WebAssembly/wasi-libc
%global commit1 ad5133410f66b93a2381db5b542aad5e0964db96
%forgemeta -z 1
%undefine distprefix1
%global wasi_libc_source %{forgesource1}
%global wasi_libc_dir %{_builddir}/%{extractdir1}
%global wasi_libc_url https://github.com/WebAssembly/wasi-libc
%global wasi_libc_commit ad5133410f66b93a2381db5b542aad5e0964db96
%global wasi_libc_name wasi-libc-%{wasi_libc_commit}
%global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_commit}/%{wasi_libc_name}.tar.gz
%global wasi_libc_dir %{_builddir}/%{wasi_libc_name}
# Using llvm-static may be helpful as an opt-in, e.g. to aid LLVM rebases.
%bcond_with llvm_static
# We can also choose to just use Rust's bundled LLVM, in case the system LLVM
# is insufficient. Rust currently requires LLVM 10.0+.
# is insufficient. Rust currently requires LLVM 12.0+.
%global min_llvm_version 12.0.0
%global bundled_llvm_version 13.0.0
%bcond_with bundled_llvm
# Requires stable libgit2 1.3
%global min_libgit2_version 1.3.0
%global bundled_libgit2_version 1.3.0
%if 0%{?fedora} >= 36
%bcond_with bundled_libgit2
%else
%bcond_without bundled_libgit2
%endif
# needs libssh2_userauth_publickey_frommemory
%global min_libssh2_version 1.6.0
%if 0%{?rhel}
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
%bcond_without disabled_libssh2
@ -71,8 +78,8 @@
%endif
Name: rust
Version: 1.57.0
Release: 2%{?dist}
Version: 1.58.0
Release: 1%{?dist}
Summary: The Rust Programming Language
License: (ASL 2.0 or MIT) and (BSD and MIT)
# ^ written as: (rust itself) and (bundled libraries)
@ -88,16 +95,8 @@ Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
Source1: %{wasi_libc_source}
# Sources for bootstrap_arches are inserted by lua below
# Fix a bad typecast for LLVM globals, rhbz#1990657
# https://github.com/rust-lang/rust/pull/91070
Patch1: rust-pr91070.patch
# By default, rust tries to use "rust-lld" as a linker for WebAssembly.
Patch2: 0001-Use-lld-provided-by-system-for-wasm.patch
# Fix a bootstrap warning with stage0 1.57
# https://github.com/rust-lang/rust/pull/90042
Patch3: 0001-remove-field-is-never-read-warning.patch
Patch1: 0001-Use-lld-provided-by-system-for-wasm.patch
### RHEL-specific patches below ###
@ -106,7 +105,7 @@ Patch100: rustc-1.56.0-disable-libssh2.patch
# libcurl on RHEL7 doesn't have http2, but since cargo requests it, curl-sys
# will try to build it statically -- instead we turn off the feature.
Patch101: rustc-1.57.0-disable-http2.patch
Patch101: rustc-1.58.0-disable-http2.patch
# kernel rh1410097 causes too-small stacks for PIE.
# (affects RHEL6 kernels when building for RHEL7)
@ -172,7 +171,6 @@ BuildRequires: make
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: ncurses-devel
BuildRequires: curl
# explicit curl-devel to avoid httpd24-curl (rhbz1540167)
BuildRequires: curl-devel
BuildRequires: pkgconfig(libcurl)
@ -181,25 +179,28 @@ BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(zlib)
%if %{without bundled_libgit2}
BuildRequires: pkgconfig(libgit2) >= 1.3.0
BuildRequires: pkgconfig(libgit2) >= %{min_libgit2_version}
%endif
%if %{without disabled_libssh2}
# needs libssh2_userauth_publickey_frommemory
BuildRequires: pkgconfig(libssh2) >= 1.6.0
BuildRequires: pkgconfig(libssh2) >= %{min_libssh2_version}
%endif
%global python python3
BuildRequires: %{python}
%if 0%{?rhel} == 8
BuildRequires: platform-python
%else
BuildRequires: python3
%endif
BuildRequires: python3-rpm-macros
%if %with bundled_llvm
BuildRequires: cmake3 >= 3.13.4
BuildRequires: ninja-build
Provides: bundled(llvm) = 13.0.0
Provides: bundled(llvm) = %{bundled_llvm_version}
%else
BuildRequires: cmake >= 2.8.11
%if 0%{?epel} == 7
%global llvm llvm11
%global llvm llvm13
%endif
%if %defined llvm
%global llvm_root %{_libdir}/%{llvm}
@ -207,14 +208,14 @@ BuildRequires: cmake >= 2.8.11
%global llvm llvm
%global llvm_root %{_prefix}
%endif
BuildRequires: %{llvm}-devel >= 10.0
BuildRequires: %{llvm}-devel >= %{min_llvm_version}
%if %with llvm_static
BuildRequires: %{llvm}-static
BuildRequires: libffi-devel
%endif
%endif
# make check needs "ps" for src/test/run-pass/wait-forked-but-failed-child.rs
# make check needs "ps" for src/test/ui/wait-forked-but-failed-child.rs
BuildRequires: procps-ng
# debuginfo-gdb tests need gdb
@ -234,6 +235,7 @@ Requires: /usr/bin/cc
%if 0%{?epel} == 7
%global devtoolset_name devtoolset-9
BuildRequires: %{devtoolset_name}-binutils
BuildRequires: %{devtoolset_name}-gcc
BuildRequires: %{devtoolset_name}-gcc-c++
%global devtoolset_bindir /opt/rh/%{devtoolset_name}/root/usr/bin
@ -395,7 +397,7 @@ programs.
Summary: LLDB pretty printers for Rust
BuildArch: noarch
Requires: lldb
Requires: %{python}-lldb
Requires: python3-lldb
Requires: %{name}-debugger-common = %{version}-%{release}
%description lldb
@ -420,12 +422,12 @@ its standard library.
%package -n cargo
Summary: Rust's package manager and build tool
%if %with bundled_libgit2
Provides: bundled(libgit2) = 1.3.0
Provides: bundled(libgit2) = %{bundled_libgit2_version}
%endif
# For tests:
BuildRequires: git
BuildRequires: git-core
# Cargo is not much use without Rust
Requires: rust
Requires: %{name}
# "cargo vendor" is a builtin command starting with 1.37. The Obsoletes and
# Provides are mostly relevant to RHEL, but harmless to have on Fedora/etc. too
@ -442,7 +444,7 @@ Summary: Documentation for Cargo
BuildArch: noarch
# Cargo no longer builds its own documentation
# https://github.com/rust-lang/cargo/pull/4904
Requires: rust-doc = %{version}-%{release}
Requires: %{name}-doc = %{version}-%{release}
%description -n cargo-doc
This package includes HTML documentation for Cargo.
@ -463,9 +465,9 @@ A tool for formatting Rust code according to style guidelines.
%package -n rls
Summary: Rust Language Server for IDE integration
%if %with bundled_libgit2
Provides: bundled(libgit2) = 1.3.0
Provides: bundled(libgit2) = %{bundled_libgit2_version}
%endif
Requires: rust-analysis
Requires: %{name}-analysis
# /usr/bin/rls is dynamically linked against internal rustc libs
Requires: %{name}%{?_isa} = %{version}-%{release}
@ -524,14 +526,12 @@ test -f '%{local_rust_root}/bin/rustc'
%endif
%if %defined wasm_targets
%forgesetup -z 1
%setup -q -n %{wasi_libc_name} -T -b 1
%endif
%setup -q -n %{rustc_package}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%if %with disabled_libssh2
%patch100 -p1
@ -546,10 +546,8 @@ rm -rf vendor/libnghttp2-sys/
%patch102 -p1
%endif
%if "%{python}" != "python3"
# Use our preferred python first
sed -i.try-python -e '/^try python3 /i try "%{python}" "$@"' ./configure
%endif
# Use our explicit python3 first
sed -i.try-python -e '/^try python3 /i try "%{__python3}" "$@"' ./configure
%if %without bundled_llvm
rm -rf src/llvm-project/
@ -684,7 +682,7 @@ end}
%{target_config} \
%{?mingw_target_config} \
%{?wasm_target_config} \
--python=%{python} \
--python=%{__python3} \
--local-rust-root=%{local_rust_root} \
%{!?with_bundled_llvm: --llvm-root=%{llvm_root} \
%{!?llvm_has_filecheck: --disable-codegen-tests} \
@ -700,20 +698,20 @@ end}
--release-channel=%{channel} \
--release-description="%{?fedora:Fedora }%{?rhel:Red Hat }%{version}-%{release}"
%{python} ./x.py build -j "$ncpus" --stage 2
%{python} ./x.py doc --stage 2
%{__python3} ./x.py build -j "$ncpus" --stage 2
%{__python3} ./x.py doc --stage 2
for triple in %{?mingw_targets} %{?wasm_targets}; do
%{python} ./x.py build --stage 2 --target=$triple std
%{__python3} ./x.py build --stage 2 --target=$triple std
done
%install
%{export_rust_env}
DESTDIR=%{buildroot} %{python} ./x.py install
DESTDIR=%{buildroot} %{__python3} ./x.py install
for triple in %{?mingw_targets} %{?wasm_targets}; do
DESTDIR=%{buildroot} %{python} ./x.py install --target=$triple std
DESTDIR=%{buildroot} %{__python3} ./x.py install --target=$triple std
done
# These are transient files used by x.py dist and install
@ -797,18 +795,18 @@ env RUSTC=%{buildroot}%{_bindir}/rustc \
# The results are not stable on koji, so mask errors and just log it.
# Some of the larger test artifacts are manually cleaned to save space.
%{python} ./x.py test --no-fail-fast --stage 2 || :
%{__python3} ./x.py test --no-fail-fast --stage 2 || :
rm -rf "./build/%{rust_triple}/test/"
%{python} ./x.py test --no-fail-fast --stage 2 cargo || :
%{__python3} ./x.py test --no-fail-fast --stage 2 cargo || :
rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
%{python} ./x.py test --no-fail-fast --stage 2 clippy || :
%{__python3} ./x.py test --no-fail-fast --stage 2 clippy || :
env RLS_TEST_WAIT_FOR_AGES=1 \
%{python} ./x.py test --no-fail-fast --stage 2 rls || :
%{__python3} ./x.py test --no-fail-fast --stage 2 rls || :
%{python} ./x.py test --no-fail-fast --stage 2 rustfmt || :
%{__python3} ./x.py test --no-fail-fast --stage 2 rustfmt || :
%ldconfig_scriptlets
@ -879,6 +877,7 @@ end}
%if {{wasi}}
%dir {{rustlibdir}}/{{triple}}/lib/self-contained
{{rustlibdir}}/{{triple}}/lib/self-contained/crt*.o
{{rustlibdir}}/{{triple}}/lib/self-contained/libc.a
%endif
]], "{{(%w+)}}", subs)
@ -971,6 +970,9 @@ end}
%changelog
* Thu Jan 13 2022 Josh Stone <jistone@redhat.com> - 1.58.0-1
- Update to 1.58.0.
* Wed Jan 05 2022 Josh Stone <jistone@redhat.com> - 1.57.0-2
- Add rust-std-static-i686-pc-windows-gnu
- Add rust-std-static-x86_64-pc-windows-gnu

View File

@ -1,6 +1,6 @@
--- rustc-beta-src/Cargo.lock.orig 2021-11-29 10:37:40.665228216 -0800
+++ rustc-beta-src/Cargo.lock 2021-11-29 10:37:40.667228175 -0800
@@ -889,7 +889,6 @@
--- rustc-1.58.0-src/Cargo.lock.orig 2022-01-11 16:13:10.125323813 -0800
+++ rustc-1.58.0-src/Cargo.lock 2022-01-11 16:22:54.313011908 -0800
@@ -909,7 +909,6 @@
dependencies = [
"cc",
"libc",
@ -8,7 +8,7 @@
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -1907,16 +1906,6 @@
@@ -1927,16 +1926,6 @@
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
[[package]]
@ -25,20 +25,20 @@
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2021-11-29 10:37:40.667228175 -0800
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2021-11-29 10:38:41.291987733 -0800
@@ -25,7 +25,7 @@
--- rustc-1.58.0-src/src/tools/cargo/Cargo.toml.orig 2022-01-11 16:13:10.127323771 -0800
+++ rustc-1.58.0-src/src/tools/cargo/Cargo.toml 2022-01-11 16:14:50.721203730 -0800
@@ -22,7 +22,7 @@
cargo-util = { path = "crates/cargo-util", version = "0.1.1" }
crates-io = { path = "crates/crates-io", version = "0.33.0" }
crossbeam-utils = "0.8"
-curl = { version = "0.4.39", features = ["http2"] }
+curl = { version = "0.4.39", features = [] }
curl-sys = "0.4.49"
-curl = { version = "0.4.41", features = ["http2"] }
+curl = { version = "0.4.41", features = [] }
curl-sys = "0.4.50"
env_logger = "0.9.0"
pretty_env_logger = { version = "0.4", optional = true }
--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2021-11-27 09:38:17.000000000 -0800
+++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2021-11-29 10:37:40.667228175 -0800
@@ -417,14 +417,8 @@
--- rustc-1.58.0-src/src/tools/cargo/src/cargo/core/package.rs.orig 2022-01-11 03:18:44.000000000 -0800
+++ rustc-1.58.0-src/src/tools/cargo/src/cargo/core/package.rs 2022-01-11 16:13:10.127323771 -0800
@@ -419,14 +419,8 @@
// Also note that pipelining is disabled as curl authors have indicated
// that it's buggy, and we've empirically seen that it's buggy with HTTP
// proxies.
@ -55,7 +55,7 @@
Ok(PackageSet {
packages: package_ids
@@ -653,7 +647,7 @@
@@ -655,7 +649,7 @@
macro_rules! try_old_curl {
($e:expr, $msg:expr) => {
let result = $e;

View File

@ -1,2 +1,2 @@
SHA512 (rustc-1.57.0-src.tar.xz) = 7903bcfc7c1db208da5d5991bd5b7f55dbe5917d4814274a8badf0d3b767211e81f8626c355ea93142f236abf116d5921c0b542ef309fbe84ece1ce84e5af30f
SHA512 (rustc-1.58.0-src.tar.xz) = 70104f4d3b474dcb9935200ef0503f29cb15f10d38ba8630e1dadbb384924dd9137fced647794699efe83ac88083e4ae5f45712f0e1c8bc0a6f8c23eecdb0aeb
SHA512 (wasi-libc-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 04cb3a25fef7949bf77f262bd939102f5b36e2ae85f28cdbfcd8a8984425fba54fae68049b777974bdbad96882fab383b44203e8f19a776d8a56a55475c4aab6

View File

@ -1,8 +1,8 @@
SHA512 (rustc-1.57.0-src.tar.xz) = 7903bcfc7c1db208da5d5991bd5b7f55dbe5917d4814274a8badf0d3b767211e81f8626c355ea93142f236abf116d5921c0b542ef309fbe84ece1ce84e5af30f
SHA512 (rustc-1.58.0-src.tar.xz) = 70104f4d3b474dcb9935200ef0503f29cb15f10d38ba8630e1dadbb384924dd9137fced647794699efe83ac88083e4ae5f45712f0e1c8bc0a6f8c23eecdb0aeb
SHA512 (wasi-libc-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 04cb3a25fef7949bf77f262bd939102f5b36e2ae85f28cdbfcd8a8984425fba54fae68049b777974bdbad96882fab383b44203e8f19a776d8a56a55475c4aab6
SHA512 (rust-1.56.1-aarch64-unknown-linux-gnu.tar.xz) = 1e612617206f0cb49ddc24352b8c8d344ac4613a71c59532e8df78189fd2ff13d71e4b1fa433e06e4af9b50292558b00f2118ffb8efff31359c28ac2fd5f5044
SHA512 (rust-1.56.1-armv7-unknown-linux-gnueabihf.tar.xz) = fd890ad58a346896a282b78b5138523c0ac06d177f9ec7c6df5262f24e9226be0e0f7a5d67d93d989e73c9380c0292fb7b3c977627cb5b57f48c8621a9b1444a
SHA512 (rust-1.56.1-i686-unknown-linux-gnu.tar.xz) = 56e9fa266c0cb668695c202c80b768aba9443b8e594530a3fbdef9ddaff6a37251eca5de584423b51fbee9f0b7712e5de59f6cd0892da4ed036fef5b9e74f27c
SHA512 (rust-1.56.1-powerpc64le-unknown-linux-gnu.tar.xz) = 603e9232879e5b9f79f91807f64e088cf657449bd8884c37218585d78c8b6e1919ac8f0aa7b6d38cbe844a89f837170a1bb8e0b4062c8b4aa9cca457eff89bdf
SHA512 (rust-1.56.1-s390x-unknown-linux-gnu.tar.xz) = aa0231187d3f096bfb223707e08262ff79f1b6fb9969814fc2385d3a134efc456bb43030723e614163ff27e6d6a779d27b77ad7ed05c80ab24b22fd10f9bc183
SHA512 (rust-1.56.1-x86_64-unknown-linux-gnu.tar.xz) = 129c619c3a27b6be903b953efa033731b29436cf83c5229ad1137d2d26571379e5d6e2b3a5704e3002547560e47ae1fa7b6c98990bd2ea482299ad94099bb4b0
SHA512 (rust-1.57.0-aarch64-unknown-linux-gnu.tar.xz) = 71d32e1ed3fc4a2eaf3594112b3b43ab82bd28b35e547542f6c1ed006175d7cf805be373a4da8b962762962dd32fe951c8ca7c0a424addad5d4e828441d5386c
SHA512 (rust-1.57.0-armv7-unknown-linux-gnueabihf.tar.xz) = 667d8f6fb56408782c7a9e0c5086013d0350d6161d52ca4cd948ea39a02ebdf657dd45cb0a135ade8bc1e856c0962040969416fa1762e3bb55a03574fff3b1d1
SHA512 (rust-1.57.0-i686-unknown-linux-gnu.tar.xz) = 9dc7d650bbe35d3967a883e91bfd2a3dcad633c41c00a41d9ca78bc336b1e3262bbb4100a76d42169700dc3b15d4066fa065e785aed1c0a46df4736dfd00d7c6
SHA512 (rust-1.57.0-powerpc64le-unknown-linux-gnu.tar.xz) = 7e0809b66086f1c9dde14df5bd9f08757e32bb58041b74150415f798d81cb4ca01a6d69d529efe8a93026f251aa8f1711520defa8d86de64f20d9055ee1568e5
SHA512 (rust-1.57.0-s390x-unknown-linux-gnu.tar.xz) = 4cc63e93bbafcbba2122a862200bf1dd241fe84f526778e1877c14237984fdeccdd3d2b3dfe73428b1b97bd253c1ddf98f4302f40709abbdd52ec721d5ccdb6e
SHA512 (rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz) = 54016b58fe85208c0d98e61cb52f2549bbb9731d7d631b4964663c91c91b7ea0ff4c224c3d29a770de433e6a0bcd92d2fe757563bf68e224a20c1cec6d031a7e