import rust-1.52.1-1.module+el8.4.0+11282+0729bac9
This commit is contained in:
parent
6e098b1057
commit
6c9f9c7b9f
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/rustc-1.49.0-src.tar.xz
|
||||
SOURCES/rustc-1.52.1-src.tar.xz
|
||||
|
@ -1 +1 @@
|
||||
f6f4d4e41694935511097c3913d9f720d5e606f8 SOURCES/rustc-1.49.0-src.tar.xz
|
||||
c5cdec7630c1915cac29e962e02465544335bad4 SOURCES/rustc-1.52.1-src.tar.xz
|
||||
|
102
SOURCES/0001-Revert-Auto-merge-of-79547.patch
Normal file
102
SOURCES/0001-Revert-Auto-merge-of-79547.patch
Normal file
@ -0,0 +1,102 @@
|
||||
From eaf7ea1fc339e1ff348ed941ed2e8c4d66f3e458 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Stone <jistone@redhat.com>
|
||||
Date: Thu, 18 Feb 2021 19:14:58 -0800
|
||||
Subject: [PATCH] Revert "Auto merge of #79547 - erikdesjardins:byval,
|
||||
r=nagisa"
|
||||
|
||||
This reverts commit a094ff9590b83c8f94d898f92c2964a5803ded06, reversing
|
||||
changes made to d37afad0cc87bf709ad10c85319296ac53030f03.
|
||||
---
|
||||
compiler/rustc_middle/src/ty/layout.rs | 12 ++++++------
|
||||
...return-value-in-reg.rs => return-value-in-reg.rs} | 4 ++--
|
||||
src/test/codegen/union-abi.rs | 11 +++--------
|
||||
3 files changed, 11 insertions(+), 16 deletions(-)
|
||||
rename src/test/codegen/{arg-return-value-in-reg.rs => return-value-in-reg.rs} (74%)
|
||||
|
||||
diff --git a/compiler/rustc_middle/src/ty/layout.rs b/compiler/rustc_middle/src/ty/layout.rs
|
||||
index b545b92c9252..545f6aee1a21 100644
|
||||
--- a/compiler/rustc_middle/src/ty/layout.rs
|
||||
+++ b/compiler/rustc_middle/src/ty/layout.rs
|
||||
@@ -2849,7 +2849,7 @@ fn adjust_for_abi(&mut self, cx: &C, abi: SpecAbi) {
|
||||
|| abi == SpecAbi::RustIntrinsic
|
||||
|| abi == SpecAbi::PlatformIntrinsic
|
||||
{
|
||||
- let fixup = |arg: &mut ArgAbi<'tcx, Ty<'tcx>>| {
|
||||
+ let fixup = |arg: &mut ArgAbi<'tcx, Ty<'tcx>>, is_ret: bool| {
|
||||
if arg.is_ignore() {
|
||||
return;
|
||||
}
|
||||
@@ -2887,9 +2887,9 @@ fn adjust_for_abi(&mut self, cx: &C, abi: SpecAbi) {
|
||||
_ => return,
|
||||
}
|
||||
|
||||
- // Pass and return structures up to 2 pointers in size by value, matching `ScalarPair`.
|
||||
- // LLVM will usually pass these in 2 registers, which is more efficient than by-ref.
|
||||
- let max_by_val_size = Pointer.size(cx) * 2;
|
||||
+ // Return structures up to 2 pointers in size by value, matching `ScalarPair`. LLVM
|
||||
+ // will usually return these in 2 registers, which is more efficient than by-ref.
|
||||
+ let max_by_val_size = if is_ret { Pointer.size(cx) * 2 } else { Pointer.size(cx) };
|
||||
let size = arg.layout.size;
|
||||
|
||||
if arg.layout.is_unsized() || size > max_by_val_size {
|
||||
@@ -2901,9 +2901,9 @@ fn adjust_for_abi(&mut self, cx: &C, abi: SpecAbi) {
|
||||
arg.cast_to(Reg { kind: RegKind::Integer, size });
|
||||
}
|
||||
};
|
||||
- fixup(&mut self.ret);
|
||||
+ fixup(&mut self.ret, true);
|
||||
for arg in &mut self.args {
|
||||
- fixup(arg);
|
||||
+ fixup(arg, false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
diff --git a/src/test/codegen/arg-return-value-in-reg.rs b/src/test/codegen/return-value-in-reg.rs
|
||||
similarity index 74%
|
||||
rename from src/test/codegen/arg-return-value-in-reg.rs
|
||||
rename to src/test/codegen/return-value-in-reg.rs
|
||||
index a69291d47821..4bc0136c5e32 100644
|
||||
--- a/src/test/codegen/arg-return-value-in-reg.rs
|
||||
+++ b/src/test/codegen/return-value-in-reg.rs
|
||||
@@ -1,4 +1,4 @@
|
||||
-//! Check that types of up to 128 bits are passed and returned by-value instead of via pointer.
|
||||
+//! This test checks that types of up to 128 bits are returned by-value instead of via out-pointer.
|
||||
|
||||
// compile-flags: -C no-prepopulate-passes -O
|
||||
// only-x86_64
|
||||
@@ -11,7 +11,7 @@ pub struct S {
|
||||
c: u32,
|
||||
}
|
||||
|
||||
-// CHECK: define i128 @modify(i128{{( %0)?}})
|
||||
+// CHECK: define i128 @modify(%S* noalias nocapture dereferenceable(16) %s)
|
||||
#[no_mangle]
|
||||
pub fn modify(s: S) -> S {
|
||||
S { a: s.a + s.a, b: s.b + s.b, c: s.c + s.c }
|
||||
diff --git a/src/test/codegen/union-abi.rs b/src/test/codegen/union-abi.rs
|
||||
index f282fd237054..afea01e9a2d0 100644
|
||||
--- a/src/test/codegen/union-abi.rs
|
||||
+++ b/src/test/codegen/union-abi.rs
|
||||
@@ -63,16 +63,11 @@ pub union UnionU128{a:u128}
|
||||
#[no_mangle]
|
||||
pub fn test_UnionU128(_: UnionU128) -> UnionU128 { loop {} }
|
||||
|
||||
-pub union UnionU128x2{a:(u128, u128)}
|
||||
-// CHECK: define void @test_UnionU128x2(i128 %_1.0, i128 %_1.1)
|
||||
-#[no_mangle]
|
||||
-pub fn test_UnionU128x2(_: UnionU128x2) { loop {} }
|
||||
-
|
||||
#[repr(C)]
|
||||
-pub union CUnionU128x2{a:(u128, u128)}
|
||||
-// CHECK: define void @test_CUnionU128x2(%CUnionU128x2* {{.*}} %_1)
|
||||
+pub union CUnionU128{a:u128}
|
||||
+// CHECK: define void @test_CUnionU128(%CUnionU128* {{.*}} %_1)
|
||||
#[no_mangle]
|
||||
-pub fn test_CUnionU128x2(_: CUnionU128x2) { loop {} }
|
||||
+pub fn test_CUnionU128(_: CUnionU128) { loop {} }
|
||||
|
||||
pub union UnionBool { b:bool }
|
||||
// CHECK: define zeroext i1 @test_UnionBool(i8 %b)
|
||||
--
|
||||
2.29.2
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- rustc-1.49.0-src/Cargo.lock.orig 2021-01-05 12:45:10.456414612 -0800
|
||||
+++ rustc-1.49.0-src/Cargo.lock 2021-01-05 12:45:10.458414575 -0800
|
||||
@@ -882,7 +882,6 @@
|
||||
--- rustc-beta-src/Cargo.lock.orig 2021-03-09 10:30:08.626424998 -0800
|
||||
+++ rustc-beta-src/Cargo.lock 2021-03-09 10:32:38.096207704 -0800
|
||||
@@ -899,7 +899,6 @@
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
@ -8,7 +8,7 @@
|
||||
"libz-sys",
|
||||
"openssl-sys",
|
||||
"pkg-config",
|
||||
@@ -1728,16 +1727,6 @@
|
||||
@@ -1860,16 +1859,6 @@
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -25,10 +25,10 @@
|
||||
name = "libz-sys"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
--- rustc-1.49.0-src/src/tools/cargo/Cargo.toml.orig 2021-01-05 12:45:10.458414575 -0800
|
||||
+++ rustc-1.49.0-src/src/tools/cargo/Cargo.toml 2021-01-05 12:47:25.966928554 -0800
|
||||
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2021-03-05 08:34:15.000000000 -0800
|
||||
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2021-03-09 10:32:38.096207704 -0800
|
||||
@@ -25,7 +25,7 @@
|
||||
crates-io = { path = "crates/crates-io", version = "0.31.1" }
|
||||
crates-io = { path = "crates/crates-io", version = "0.33.0" }
|
||||
crossbeam-utils = "0.8"
|
||||
crypto-hash = "0.3.1"
|
||||
-curl = { version = "0.4.23", features = ["http2"] }
|
||||
@ -36,9 +36,9 @@
|
||||
curl-sys = "0.4.22"
|
||||
env_logger = "0.8.1"
|
||||
pretty_env_logger = { version = "0.4", optional = true }
|
||||
--- rustc-1.49.0-src/src/tools/cargo/src/cargo/core/package.rs.orig 2020-12-28 19:03:25.000000000 -0800
|
||||
+++ rustc-1.49.0-src/src/tools/cargo/src/cargo/core/package.rs 2021-01-05 12:45:10.458414575 -0800
|
||||
@@ -408,14 +408,8 @@
|
||||
--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2021-03-05 08:34:15.000000000 -0800
|
||||
+++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2021-03-09 10:32:38.096207704 -0800
|
||||
@@ -412,14 +412,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
|
||||
@@ -584,7 +578,7 @@
|
||||
@@ -592,7 +586,7 @@
|
||||
macro_rules! try_old_curl {
|
||||
($e:expr, $msg:expr) => {
|
||||
let result = $e;
|
@ -1,14 +1,15 @@
|
||||
--- rustc-1.48.0-src/compiler/rustc_codegen_ssa/src/back/link.rs.orig 2020-11-16 06:01:53.000000000 -0800
|
||||
+++ rustc-1.48.0-src/compiler/rustc_codegen_ssa/src/back/link.rs 2020-11-16 09:37:15.779516797 -0800
|
||||
@@ -1185,10 +1185,12 @@
|
||||
--- rustc-beta-src/compiler/rustc_codegen_ssa/src/back/link.rs.orig 2021-03-09 10:40:09.755485845 -0800
|
||||
+++ rustc-beta-src/compiler/rustc_codegen_ssa/src/back/link.rs 2021-03-09 10:44:51.257426181 -0800
|
||||
@@ -1279,11 +1279,13 @@
|
||||
}
|
||||
|
||||
fn link_output_kind(sess: &Session, crate_type: CrateType) -> LinkOutputKind {
|
||||
- let kind = match (crate_type, sess.crt_static(Some(crate_type)), sess.relocation_model()) {
|
||||
- (CrateType::Executable, false, RelocModel::Pic) => LinkOutputKind::DynamicPicExe,
|
||||
+ // Only use PIE if explicity specified.
|
||||
+ let explicit_pic = matches!(sess.opts.cg.relocation_model, Some(RelocModel::Pic));
|
||||
+ let kind = match (crate_type, sess.crt_static(Some(crate_type)), explicit_pic) {
|
||||
(CrateType::Executable, _, _) if sess.is_wasi_reactor() => LinkOutputKind::WasiReactorExe,
|
||||
- (CrateType::Executable, false, RelocModel::Pic) => LinkOutputKind::DynamicPicExe,
|
||||
+ (CrateType::Executable, false, true) => LinkOutputKind::DynamicPicExe,
|
||||
(CrateType::Executable, false, _) => LinkOutputKind::DynamicNoPicExe,
|
||||
- (CrateType::Executable, true, RelocModel::Pic) => LinkOutputKind::StaticPicExe,
|
@ -10,10 +10,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.48.0
|
||||
%global bootstrap_cargo 1.48.0
|
||||
%global bootstrap_channel 1.48.0
|
||||
%global bootstrap_date 2020-11-19
|
||||
%global bootstrap_rust 1.51.0
|
||||
%global bootstrap_cargo 1.51.0
|
||||
%global bootstrap_channel 1.51.0
|
||||
%global bootstrap_date 2021-03-25
|
||||
|
||||
# Only the specified arches will use bootstrap binaries.
|
||||
#global bootstrap_arches %%{rust_arches}
|
||||
@ -22,11 +22,11 @@
|
||||
%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 8.0+.
|
||||
# is insufficient. Rust currently requires LLVM 9.0+.
|
||||
%bcond_with bundled_llvm
|
||||
|
||||
# Requires stable libgit2 1.0
|
||||
%if 0%{?fedora} >= 32
|
||||
# Requires stable libgit2 1.1
|
||||
%if 0%{?fedora} >= 34
|
||||
%bcond_with bundled_libgit2
|
||||
%else
|
||||
%bcond_without bundled_libgit2
|
||||
@ -53,7 +53,7 @@
|
||||
%endif
|
||||
|
||||
Name: rust
|
||||
Version: 1.49.0
|
||||
Version: 1.52.1
|
||||
Release: 1%{?dist}
|
||||
Summary: The Rust Programming Language
|
||||
License: (ASL 2.0 or MIT) and (BSD and MIT)
|
||||
@ -68,6 +68,10 @@ ExclusiveArch: %{rust_arches}
|
||||
%endif
|
||||
Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
|
||||
|
||||
# This internal rust-abi change broke s390x -- revert for now.
|
||||
# https://github.com/rust-lang/rust/issues/80810#issuecomment-781784032
|
||||
Patch1: 0001-Revert-Auto-merge-of-79547.patch
|
||||
|
||||
### RHEL-specific patches below ###
|
||||
|
||||
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
|
||||
@ -75,11 +79,11 @@ Patch100: rustc-1.48.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.49.0-disable-http2.patch
|
||||
Patch101: rustc-1.51.0-disable-http2.patch
|
||||
|
||||
# kernel rh1410097 causes too-small stacks for PIE.
|
||||
# (affects RHEL6 kernels when building for RHEL7)
|
||||
Patch102: rustc-1.48.0-no-default-pie.patch
|
||||
Patch102: rustc-1.51.0-no-default-pie.patch
|
||||
|
||||
|
||||
# Get the Rust triple for any arch.
|
||||
@ -149,7 +153,7 @@ BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
|
||||
%if %without bundled_libgit2
|
||||
BuildRequires: pkgconfig(libgit2) >= 1.0.0
|
||||
BuildRequires: pkgconfig(libgit2) >= 1.1.0
|
||||
%endif
|
||||
|
||||
%if %{without disabled_libssh2}
|
||||
@ -161,8 +165,8 @@ BuildRequires: pkgconfig(libssh2) >= 1.6.0
|
||||
BuildRequires: %{python}
|
||||
|
||||
%if %with bundled_llvm
|
||||
BuildRequires: cmake3 >= 3.4.3
|
||||
Provides: bundled(llvm) = 11.0.0
|
||||
BuildRequires: cmake3 >= 3.13.4
|
||||
Provides: bundled(llvm) = 12.0.0
|
||||
%else
|
||||
BuildRequires: cmake >= 2.8.11
|
||||
%if 0%{?epel} == 7
|
||||
@ -397,6 +401,8 @@ test -f '%{local_rust_root}/bin/rustc'
|
||||
|
||||
%setup -q -n %{rustc_package}
|
||||
|
||||
%patch1 -p1
|
||||
|
||||
%if %with disabled_libssh2
|
||||
%patch100 -p1
|
||||
%endif
|
||||
@ -530,7 +536,8 @@ fi
|
||||
--enable-vendor \
|
||||
--enable-verbose-tests \
|
||||
%{?codegen_units_std} \
|
||||
--release-channel=%{channel}
|
||||
--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
|
||||
@ -604,6 +611,9 @@ rm -f %{buildroot}%{_bindir}/rust-lldb
|
||||
rm -f %{buildroot}%{rustlibdir}/etc/lldb_*
|
||||
%endif
|
||||
|
||||
# We don't want Rust copies of LLVM tools (rust-lld, rust-llvm-dwp)
|
||||
rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll*
|
||||
|
||||
|
||||
%check
|
||||
export %{rust_env}
|
||||
@ -670,6 +680,7 @@ export %{rust_env}
|
||||
%{_docdir}/%{name}/html/*.png
|
||||
%{_docdir}/%{name}/html/*.svg
|
||||
%{_docdir}/%{name}/html/*.woff
|
||||
%{_docdir}/%{name}/html/*.woff2
|
||||
%license %{_docdir}/%{name}/html/*.txt
|
||||
%license %{_docdir}/%{name}/html/*.md
|
||||
|
||||
@ -678,6 +689,7 @@ export %{rust_env}
|
||||
%license src/tools/cargo/LICENSE-APACHE src/tools/cargo/LICENSE-MIT src/tools/cargo/LICENSE-THIRD-PARTY
|
||||
%doc src/tools/cargo/README.md
|
||||
%{_bindir}/cargo
|
||||
%{_libexecdir}/cargo*
|
||||
%{_mandir}/man1/cargo*.1*
|
||||
%{_sysconfdir}/bash_completion.d/cargo
|
||||
%{_datadir}/zsh/site-functions/_cargo
|
||||
@ -721,6 +733,17 @@ export %{rust_env}
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue May 25 2021 Josh Stone <jistone@redhat.com> - 1.52.1-1
|
||||
- Update to 1.52.1. Includes security fixes for CVE-2020-36323,
|
||||
CVE-2021-28876, CVE-2021-28878, CVE-2021-28879, and CVE-2021-31162.
|
||||
|
||||
* Mon May 24 2021 Josh Stone <jistone@redhat.com> - 1.51.0-1
|
||||
- Update to 1.51.0. Update to 1.51.0. Includes security fixes for
|
||||
CVE-2021-28875 and CVE-2021-28877.
|
||||
|
||||
* Mon May 24 2021 Josh Stone <jistone@redhat.com> - 1.50.0-1
|
||||
- Update to 1.50.0.
|
||||
|
||||
* Wed Jan 13 2021 Josh Stone <jistone@redhat.com> - 1.49.0-1
|
||||
- Update to 1.49.0.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user