import rust-1.54.0-2.el9
This commit is contained in:
commit
da8ffc040e
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
SOURCES/openssl-0.10.35.crate
|
||||||
|
SOURCES/openssl-sys-0.9.65.crate
|
||||||
|
SOURCES/rustc-1.54.0-src.tar.xz
|
3
.rust.metadata
Normal file
3
.rust.metadata
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
30b1d249820fb830ab1fbd0910c39dbd8976f3de SOURCES/openssl-0.10.35.crate
|
||||||
|
c4f319fbe5ce983a1b958f7df6b572a1b2752784 SOURCES/openssl-sys-0.9.65.crate
|
||||||
|
1577242bee41fe6c1aee17d47ae791f4bfc1f8c3 SOURCES/rustc-1.54.0-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
|
||||||
|
|
26
SOURCES/0001-Use-lld-provided-by-system-for-wasm.patch
Normal file
26
SOURCES/0001-Use-lld-provided-by-system-for-wasm.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 9ac837c237568a6c1c5f0e979fcce208cd9c926a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ivan Mironov <mironov.ivan@gmail.com>
|
||||||
|
Date: Sun, 8 Dec 2019 17:23:08 +0500
|
||||||
|
Subject: [PATCH] Use lld provided by system for wasm
|
||||||
|
|
||||||
|
---
|
||||||
|
compiler/rustc_target/src/spec/wasm_base.rs | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs
|
||||||
|
index 4c954a1e567c..15c4f1bda5eb 100644
|
||||||
|
--- a/compiler/rustc_target/src/spec/wasm_base.rs
|
||||||
|
+++ b/compiler/rustc_target/src/spec/wasm_base.rs
|
||||||
|
@@ -99,8 +99,7 @@ pub fn options() -> TargetOptions {
|
||||||
|
// arguments just yet
|
||||||
|
limit_rdylib_exports: false,
|
||||||
|
|
||||||
|
- // we use the LLD shipped with the Rust toolchain by default
|
||||||
|
- linker: Some("rust-lld".to_owned()),
|
||||||
|
+ linker: Some("lld".to_owned()),
|
||||||
|
lld_flavor: LldFlavor::Wasm,
|
||||||
|
linker_is_gnu: false,
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
36
SOURCES/rust-openssl-300.patch
Normal file
36
SOURCES/rust-openssl-300.patch
Normal file
File diff suppressed because one or more lines are too long
42
SOURCES/rustc-1.48.0-disable-libssh2.patch
Normal file
42
SOURCES/rustc-1.48.0-disable-libssh2.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
--- rustc-1.48.0-src/Cargo.lock.orig 2020-11-16 06:01:53.000000000 -0800
|
||||||
|
+++ rustc-1.48.0-src/Cargo.lock 2020-11-16 09:27:44.425104404 -0800
|
||||||
|
@@ -1676,7 +1676,6 @@
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
- "libssh2-sys",
|
||||||
|
"libz-sys",
|
||||||
|
"openssl-sys",
|
||||||
|
"pkg-config",
|
||||||
|
@@ -1693,20 +1692,6 @@
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
-name = "libssh2-sys"
|
||||||
|
-version = "0.2.19"
|
||||||
|
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
-checksum = "ca46220853ba1c512fc82826d0834d87b06bcd3c2a42241b7de72f3d2fe17056"
|
||||||
|
-dependencies = [
|
||||||
|
- "cc",
|
||||||
|
- "libc",
|
||||||
|
- "libz-sys",
|
||||||
|
- "openssl-sys",
|
||||||
|
- "pkg-config",
|
||||||
|
- "vcpkg",
|
||||||
|
-]
|
||||||
|
-
|
||||||
|
-[[package]]
|
||||||
|
name = "libz-sys"
|
||||||
|
version = "1.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
--- rustc-1.48.0-src/vendor/git2/Cargo.toml.orig 2020-11-16 06:27:49.000000000 -0800
|
||||||
|
+++ rustc-1.48.0-src/vendor/git2/Cargo.toml 2020-11-16 09:27:44.425104404 -0800
|
||||||
|
@@ -49,7 +49,7 @@
|
||||||
|
version = "0.1.39"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
-default = ["ssh", "https", "ssh_key_from_memory"]
|
||||||
|
+default = ["https"]
|
||||||
|
https = ["libgit2-sys/https", "openssl-sys", "openssl-probe"]
|
||||||
|
ssh = ["libgit2-sys/ssh"]
|
||||||
|
ssh_key_from_memory = ["libgit2-sys/ssh_key_from_memory"]
|
19
SOURCES/rustc-1.51.0-no-default-pie.patch
Normal file
19
SOURCES/rustc-1.51.0-no-default-pie.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
--- 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()) {
|
||||||
|
+ // 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,
|
||||||
|
+ (CrateType::Executable, true, true) => LinkOutputKind::StaticPicExe,
|
||||||
|
(CrateType::Executable, true, _) => LinkOutputKind::StaticNoPicExe,
|
||||||
|
(_, true, _) => LinkOutputKind::StaticDylib,
|
||||||
|
(_, false, _) => LinkOutputKind::DynamicDylib,
|
66
SOURCES/rustc-1.53.0-disable-http2.patch
Normal file
66
SOURCES/rustc-1.53.0-disable-http2.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
--- rustc-beta-src/Cargo.lock.orig 2021-06-04 15:56:04.141227630 -0700
|
||||||
|
+++ rustc-beta-src/Cargo.lock 2021-06-04 16:03:04.461396826 -0700
|
||||||
|
@@ -885,7 +885,6 @@
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
- "libnghttp2-sys",
|
||||||
|
"libz-sys",
|
||||||
|
"openssl-sys",
|
||||||
|
"pkg-config",
|
||||||
|
@@ -1904,16 +1903,6 @@
|
||||||
|
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
-name = "libnghttp2-sys"
|
||||||
|
-version = "0.1.4+1.41.0"
|
||||||
|
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
-checksum = "03624ec6df166e79e139a2310ca213283d6b3c30810c54844f307086d4488df1"
|
||||||
|
-dependencies = [
|
||||||
|
- "cc",
|
||||||
|
- "libc",
|
||||||
|
-]
|
||||||
|
-
|
||||||
|
-[[package]]
|
||||||
|
name = "libz-sys"
|
||||||
|
version = "1.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2021-06-04 15:56:04.143227587 -0700
|
||||||
|
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2021-06-04 15:57:56.931857927 -0700
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
cargo-util = { path = "crates/cargo-util", version = "0.1.0" }
|
||||||
|
crates-io = { path = "crates/crates-io", version = "0.33.0" }
|
||||||
|
crossbeam-utils = "0.8"
|
||||||
|
-curl = { version = "0.4.23", features = ["http2"] }
|
||||||
|
+curl = { version = "0.4.23", features = [] }
|
||||||
|
curl-sys = "0.4.22"
|
||||||
|
env_logger = "0.8.1"
|
||||||
|
pretty_env_logger = { version = "0.4", optional = true }
|
||||||
|
--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2021-05-22 15:22:31.000000000 -0700
|
||||||
|
+++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2021-06-04 16:00:03.903190293 -0700
|
||||||
|
@@ -416,14 +416,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.
|
||||||
|
- let mut multi = Multi::new();
|
||||||
|
- let multiplexing = config.http_config()?.multiplexing.unwrap_or(true);
|
||||||
|
- multi
|
||||||
|
- .pipelining(false, multiplexing)
|
||||||
|
- .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
|
||||||
|
-
|
||||||
|
- // let's not flood crates.io with connections
|
||||||
|
- multi.set_max_host_connections(2)?;
|
||||||
|
+ let multi = Multi::new();
|
||||||
|
+ let multiplexing = false;
|
||||||
|
|
||||||
|
Ok(PackageSet {
|
||||||
|
packages: package_ids
|
||||||
|
@@ -596,7 +590,7 @@
|
||||||
|
macro_rules! try_old_curl {
|
||||||
|
($e:expr, $msg:expr) => {
|
||||||
|
let result = $e;
|
||||||
|
- if cfg!(target_os = "macos") {
|
||||||
|
+ if cfg!(any(target_os = "linux", target_os = "macos")) {
|
||||||
|
if let Err(e) = result {
|
||||||
|
warn!("ignoring libcurl {} error: {}", $msg, e);
|
||||||
|
}
|
1242
SPECS/rust.spec
Normal file
1242
SPECS/rust.spec
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user