Update to 1.59.0.

Related: rhbz#2075335
This commit is contained in:
Josh Stone 2022-04-19 15:48:48 -07:00
parent 0b8fe7f1a3
commit 3862b243aa
7 changed files with 86 additions and 36 deletions

1
.gitignore vendored
View File

@ -383,3 +383,4 @@
/rust-1.57.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.58.1-src.tar.xz
/rustc-1.59.0-src.tar.xz

View File

@ -0,0 +1,34 @@
diff --git a/compiler/rustc_middle/src/mir/mono.rs b/compiler/rustc_middle/src/mir/mono.rs
index 892808386dee..13c325a14e40 100644
--- a/compiler/rustc_middle/src/mir/mono.rs
+++ b/compiler/rustc_middle/src/mir/mono.rs
@@ -7,6 +7,7 @@
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
use rustc_hir::ItemId;
+use rustc_index::vec::Idx;
use rustc_query_system::ich::{NodeIdHashingMode, StableHashingContext};
use rustc_session::config::OptLevel;
use rustc_span::source_map::Span;
@@ -380,7 +381,7 @@ fn item_sort_key<'tcx>(tcx: TyCtxt<'tcx>, item: MonoItem<'tcx>) -> ItemSortKey<'
// instances into account. The others don't matter for
// the codegen tests and can even make item order
// unstable.
- InstanceDef::Item(def) => Some(def.did.index.as_usize()),
+ InstanceDef::Item(def) => def.did.as_local().map(Idx::index),
InstanceDef::VtableShim(..)
| InstanceDef::ReifyShim(..)
| InstanceDef::Intrinsic(..)
@@ -391,10 +392,8 @@ fn item_sort_key<'tcx>(tcx: TyCtxt<'tcx>, item: MonoItem<'tcx>) -> ItemSortKey<'
| InstanceDef::CloneShim(..) => None,
}
}
- MonoItem::Static(def_id) => Some(def_id.index.as_usize()),
- MonoItem::GlobalAsm(item_id) => {
- Some(item_id.def_id.to_def_id().index.as_usize())
- }
+ MonoItem::Static(def_id) => def_id.as_local().map(Idx::index),
+ MonoItem::GlobalAsm(item_id) => Some(item_id.def_id.index()),
},
item.symbol_name(tcx),
)

View File

@ -9,10 +9,10 @@
# 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.57.0
%global bootstrap_cargo 1.57.0
%global bootstrap_channel 1.57.0
%global bootstrap_date 2021-12-02
%global bootstrap_rust 1.58.0
%global bootstrap_cargo 1.58.0
%global bootstrap_channel 1.58.0
%global bootstrap_date 2022-01-13
# Only the specified arches will use bootstrap binaries.
#global bootstrap_arches %%{rust_arches}
@ -46,8 +46,10 @@
%global bundled_llvm_version 13.0.0
%bcond_with bundled_llvm
# Requires stable libgit2 1.3
# Requires stable libgit2 1.3, and not the next minor soname change.
# This needs to be consistent with the bindings in vendor/libgit2-sys.
%global min_libgit2_version 1.3.0
%global next_libgit2_version 1.4.0~
%global bundled_libgit2_version 1.3.0
%if 0%{?fedora} >= 36
%bcond_with bundled_libgit2
@ -78,7 +80,7 @@
%endif
Name: rust
Version: 1.58.1
Version: 1.59.0
Release: 1%{?dist}
Summary: The Rust Programming Language
License: (ASL 2.0 or MIT) and (BSD and MIT)
@ -98,14 +100,18 @@ Source1: %{wasi_libc_source}
# By default, rust tries to use "rust-lld" as a linker for WebAssembly.
Patch1: 0001-Use-lld-provided-by-system-for-wasm.patch
# This regressed in 1.59, hanging builds on s390x, rhbz#2058803
# https://github.com/rust-lang/rust/pull/94505
Patch2: rust-pr94505-mono-item-sort-local.patch
### RHEL-specific patches below ###
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
Patch100: rustc-1.56.0-disable-libssh2.patch
Patch100: rustc-1.59.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.58.0-disable-http2.patch
Patch101: rustc-1.59.0-disable-http2.patch
# kernel rh1410097 causes too-small stacks for PIE.
# (affects RHEL6 kernels when building for RHEL7)
@ -179,7 +185,7 @@ BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(zlib)
%if %{without bundled_libgit2}
BuildRequires: pkgconfig(libgit2) >= %{min_libgit2_version}
BuildRequires: (pkgconfig(libgit2) >= %{min_libgit2_version} with pkgconfig(libgit2) < %{next_libgit2_version})
%endif
%if %{without disabled_libssh2}
@ -281,16 +287,21 @@ BuildRequires: %{devtoolset_name}-gcc-c++
%if %defined mingw_targets
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw32-crt
BuildRequires: mingw64-crt
BuildRequires: mingw32-gcc
BuildRequires: mingw64-gcc
BuildRequires: mingw32-winpthreads-static
BuildRequires: mingw64-winpthreads-static
%endif
%if %defined wasm_targets
BuildRequires: clang
BuildRequires: lld
# brp-strip-static-archive breaks the archive index for wasm
%global __os_install_post \
%__os_install_post \
find '%{buildroot}%{rustlibdir}' -type f -path '*/wasm*/lib/*.rlib' -print -exec '%{llvm_root}/bin/llvm-ranlib' '{}' ';' \
find '%{buildroot}%{rustlibdir}'/wasm*/lib -type f -regex '.*\\.\\(a\\|rlib\\)' -print -exec '%{llvm_root}/bin/llvm-ranlib' '{}' ';' \
%{nil}
%endif
@ -532,6 +543,7 @@ test -f '%{local_rust_root}/bin/rustc'
%setup -q -n %{rustc_package}
%patch1 -p1
%patch2 -p1
%if %with disabled_libssh2
%patch100 -p1
@ -793,6 +805,13 @@ env RUSTC=%{buildroot}%{_bindir}/rustc \
LD_LIBRARY_PATH="%{buildroot}%{_libdir}:$LD_LIBRARY_PATH" \
%{buildroot}%{_bindir}/cargo run --manifest-path build/hello-world/Cargo.toml
# Try a build sanity-check for other targets
for triple in %{?mingw_targets} %{?wasm_targets}; do
env RUSTC=%{buildroot}%{_bindir}/rustc \
LD_LIBRARY_PATH="%{buildroot}%{_libdir}:$LD_LIBRARY_PATH" \
%{buildroot}%{_bindir}/cargo build --manifest-path build/hello-world/Cargo.toml --target=$triple
done
# 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.
%{__python3} ./x.py test --no-fail-fast --stage 2 || :
@ -970,6 +989,9 @@ end}
%changelog
* Tue Apr 19 2022 Josh Stone <jistone@redhat.com> - 1.59.0-1
- Update to 1.59.0.
* Thu Jan 20 2022 Josh Stone <jistone@redhat.com> - 1.58.1-1
- Update to 1.58.1.

View File

@ -1,5 +1,5 @@
--- 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
--- rustc-1.59.0-src/Cargo.lock.orig 2022-02-22 10:19:00.330367749 -0800
+++ rustc-1.59.0-src/Cargo.lock 2022-02-22 10:19:00.332367706 -0800
@@ -909,7 +909,6 @@
dependencies = [
"cc",
@ -8,7 +8,7 @@
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -1927,16 +1926,6 @@
@@ -1957,16 +1956,6 @@
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
[[package]]
@ -25,19 +25,19 @@
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- 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
--- rustc-1.59.0-src/src/tools/cargo/Cargo.toml.orig 2022-02-22 10:19:00.332367706 -0800
+++ rustc-1.59.0-src/src/tools/cargo/Cargo.toml 2022-02-22 10:19:54.029231795 -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" }
cargo-util = { path = "crates/cargo-util", version = "0.1.2" }
crates-io = { path = "crates/crates-io", version = "0.33.1" }
crossbeam-utils = "0.8"
-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-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
--- rustc-1.59.0-src/src/tools/cargo/src/cargo/core/package.rs.orig 2022-02-21 18:48:53.000000000 -0800
+++ rustc-1.59.0-src/src/tools/cargo/src/cargo/core/package.rs 2022-02-22 10:19:00.332367706 -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

View File

@ -1,6 +1,6 @@
--- rustc-1.56.0-src/Cargo.lock.orig 2021-10-18 02:52:36.000000000 -0700
+++ rustc-1.56.0-src/Cargo.lock 2021-10-19 18:00:47.999793566 -0700
@@ -1895,7 +1895,6 @@
--- rustc-1.59.0-src/Cargo.lock.orig 2022-02-21 18:48:37.000000000 -0800
+++ rustc-1.59.0-src/Cargo.lock 2022-02-22 10:16:10.381962862 -0800
@@ -1935,7 +1935,6 @@
dependencies = [
"cc",
"libc",
@ -8,14 +8,14 @@
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -1918,20 +1917,6 @@
@@ -1968,20 +1967,6 @@
]
[[package]]
-name = "libssh2-sys"
-version = "0.2.19"
-version = "0.2.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca46220853ba1c512fc82826d0834d87b06bcd3c2a42241b7de72f3d2fe17056"
-checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
-dependencies = [
- "cc",
- "libc",
@ -29,9 +29,9 @@
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-1.56.0-src/vendor/git2/Cargo.toml.orig 2021-10-18 04:05:54.000000000 -0700
+++ rustc-1.56.0-src/vendor/git2/Cargo.toml 2021-10-19 17:57:37.960500359 -0700
@@ -52,7 +52,7 @@
--- rustc-1.59.0-src/vendor/git2/Cargo.toml.orig 2022-02-21 20:14:37.000000000 -0800
+++ rustc-1.59.0-src/vendor/git2/Cargo.toml 2022-02-22 10:12:23.021772490 -0800
@@ -51,7 +51,7 @@
version = "0.1.39"
[features]

View File

@ -1,2 +1,2 @@
SHA512 (rustc-1.58.1-src.tar.xz) = eff3279d2e519343cea542a9ae2daab592e44f35af344e33ff43ed55fc7c824511790d1991dd36a603d12465de8c3688e7194c2b9557f288c587ffa04738c2ce
SHA512 (rustc-1.59.0-src.tar.xz) = acace866871d13a55d365f65d7e15c192c3cd33096862571df6317e066b7474d668b95ae281e0244967778c05f1e33966c3c55616218bd25d3770a2b2d4f0365
SHA512 (wasi-libc-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 04cb3a25fef7949bf77f262bd939102f5b36e2ae85f28cdbfcd8a8984425fba54fae68049b777974bdbad96882fab383b44203e8f19a776d8a56a55475c4aab6

View File

@ -1,7 +0,0 @@
SHA512 (rustc-1.58.1-src.tar.xz) = eff3279d2e519343cea542a9ae2daab592e44f35af344e33ff43ed55fc7c824511790d1991dd36a603d12465de8c3688e7194c2b9557f288c587ffa04738c2ce
SHA512 (wasi-libc-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 04cb3a25fef7949bf77f262bd939102f5b36e2ae85f28cdbfcd8a8984425fba54fae68049b777974bdbad96882fab383b44203e8f19a776d8a56a55475c4aab6
SHA512 (rust-1.57.0-aarch64-unknown-linux-gnu.tar.xz) = 71d32e1ed3fc4a2eaf3594112b3b43ab82bd28b35e547542f6c1ed006175d7cf805be373a4da8b962762962dd32fe951c8ca7c0a424addad5d4e828441d5386c
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