Update to 1.30.0.
This commit is contained in:
parent
6cdc8d05a3
commit
3fff7a4653
8
.gitignore
vendored
8
.gitignore
vendored
@ -152,3 +152,11 @@
|
|||||||
/rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz
|
/rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz
|
||||||
/rustc-1.29.1-src.tar.xz
|
/rustc-1.29.1-src.tar.xz
|
||||||
/rustc-1.29.2-src.tar.xz
|
/rustc-1.29.2-src.tar.xz
|
||||||
|
/rustc-1.30.0-src.tar.xz
|
||||||
|
/rust-1.29.2-aarch64-unknown-linux-gnu.tar.xz
|
||||||
|
/rust-1.29.2-armv7-unknown-linux-gnueabihf.tar.xz
|
||||||
|
/rust-1.29.2-i686-unknown-linux-gnu.tar.xz
|
||||||
|
/rust-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz
|
||||||
|
/rust-1.29.2-powerpc64-unknown-linux-gnu.tar.xz
|
||||||
|
/rust-1.29.2-s390x-unknown-linux-gnu.tar.xz
|
||||||
|
/rust-1.29.2-x86_64-unknown-linux-gnu.tar.xz
|
||||||
|
@ -1,186 +0,0 @@
|
|||||||
From 4b95b1a4fd035a73998dc21b265ce4594e35f8ae Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Crichton <alex@alexcrichton.com>
|
|
||||||
Date: Thu, 16 Aug 2018 13:19:04 -0700
|
|
||||||
Subject: [PATCH] Set more llvm function attributes for __rust_try
|
|
||||||
|
|
||||||
This shim is generated elsewhere in the compiler so this commit adds support to
|
|
||||||
ensure it goes through similar paths as the rest of the compiler to set llvm
|
|
||||||
function attributes like target features.
|
|
||||||
|
|
||||||
cc #53372
|
|
||||||
---
|
|
||||||
src/librustc_codegen_llvm/attributes.rs | 52 +++++++++++++++++++------
|
|
||||||
src/librustc_codegen_llvm/base.rs | 21 ----------
|
|
||||||
src/librustc_codegen_llvm/callee.rs | 2 +-
|
|
||||||
src/librustc_codegen_llvm/intrinsic.rs | 2 +
|
|
||||||
src/librustc_codegen_llvm/mono_item.rs | 2 +-
|
|
||||||
5 files changed, 44 insertions(+), 35 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/librustc_codegen_llvm/attributes.rs b/src/librustc_codegen_llvm/attributes.rs
|
|
||||||
index 3b5f927d52f0..2a79ce2f2285 100644
|
|
||||||
--- a/src/librustc_codegen_llvm/attributes.rs
|
|
||||||
+++ b/src/librustc_codegen_llvm/attributes.rs
|
|
||||||
@@ -11,7 +11,7 @@
|
|
||||||
|
|
||||||
use std::ffi::{CStr, CString};
|
|
||||||
|
|
||||||
-use rustc::hir::CodegenFnAttrFlags;
|
|
||||||
+use rustc::hir::{CodegenFnAttrFlags, CodegenFnAttrs};
|
|
||||||
use rustc::hir::def_id::{DefId, LOCAL_CRATE};
|
|
||||||
use rustc::session::Session;
|
|
||||||
use rustc::session::config::Sanitizer;
|
|
||||||
@@ -123,11 +123,37 @@ pub fn llvm_target_features(sess: &Session) -> impl Iterator<Item = &str> {
|
|
||||||
|
|
||||||
/// Composite function which sets LLVM attributes for function depending on its AST (#[attribute])
|
|
||||||
/// attributes.
|
|
||||||
-pub fn from_fn_attrs(cx: &CodegenCx, llfn: ValueRef, id: DefId) {
|
|
||||||
- let codegen_fn_attrs = cx.tcx.codegen_fn_attrs(id);
|
|
||||||
+pub fn from_fn_attrs(
|
|
||||||
+ cx: &CodegenCx,
|
|
||||||
+ llfn: ValueRef,
|
|
||||||
+ id: Option<DefId>,
|
|
||||||
+) {
|
|
||||||
+ let codegen_fn_attrs = id.map(|id| cx.tcx.codegen_fn_attrs(id))
|
|
||||||
+ .unwrap_or(CodegenFnAttrs::new());
|
|
||||||
|
|
||||||
inline(llfn, codegen_fn_attrs.inline);
|
|
||||||
|
|
||||||
+ // The `uwtable` attribute according to LLVM is:
|
|
||||||
+ //
|
|
||||||
+ // This attribute indicates that the ABI being targeted requires that an
|
|
||||||
+ // unwind table entry be produced for this function even if we can show
|
|
||||||
+ // that no exceptions passes by it. This is normally the case for the
|
|
||||||
+ // ELF x86-64 abi, but it can be disabled for some compilation units.
|
|
||||||
+ //
|
|
||||||
+ // Typically when we're compiling with `-C panic=abort` (which implies this
|
|
||||||
+ // `no_landing_pads` check) we don't need `uwtable` because we can't
|
|
||||||
+ // generate any exceptions! On Windows, however, exceptions include other
|
|
||||||
+ // events such as illegal instructions, segfaults, etc. This means that on
|
|
||||||
+ // Windows we end up still needing the `uwtable` attribute even if the `-C
|
|
||||||
+ // panic=abort` flag is passed.
|
|
||||||
+ //
|
|
||||||
+ // You can also find more info on why Windows is whitelisted here in:
|
|
||||||
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1302078
|
|
||||||
+ if !cx.sess().no_landing_pads() ||
|
|
||||||
+ cx.sess().target.target.options.requires_uwtable {
|
|
||||||
+ attributes::emit_uwtable(llfn, true);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
set_frame_pointer_elimination(cx, llfn);
|
|
||||||
set_probestack(cx, llfn);
|
|
||||||
|
|
||||||
@@ -151,7 +177,7 @@ pub fn from_fn_attrs(cx: &CodegenCx, llfn: ValueRef, id: DefId) {
|
|
||||||
// *in Rust code* may unwind. Foreign items like `extern "C" {
|
|
||||||
// fn foo(); }` are assumed not to unwind **unless** they have
|
|
||||||
// a `#[unwind]` attribute.
|
|
||||||
- } else if !cx.tcx.is_foreign_item(id) {
|
|
||||||
+ } else if id.map(|id| !cx.tcx.is_foreign_item(id)).unwrap_or(false) {
|
|
||||||
Some(true)
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
@@ -188,14 +214,16 @@ pub fn from_fn_attrs(cx: &CodegenCx, llfn: ValueRef, id: DefId) {
|
|
||||||
// Note that currently the `wasm-import-module` doesn't do anything, but
|
|
||||||
// eventually LLVM 7 should read this and ferry the appropriate import
|
|
||||||
// module to the output file.
|
|
||||||
- if cx.tcx.sess.target.target.arch == "wasm32" {
|
|
||||||
- if let Some(module) = wasm_import_module(cx.tcx, id) {
|
|
||||||
- llvm::AddFunctionAttrStringValue(
|
|
||||||
- llfn,
|
|
||||||
- llvm::AttributePlace::Function,
|
|
||||||
- cstr("wasm-import-module\0"),
|
|
||||||
- &module,
|
|
||||||
- );
|
|
||||||
+ if let Some(id) = id {
|
|
||||||
+ if cx.tcx.sess.target.target.arch == "wasm32" {
|
|
||||||
+ if let Some(module) = wasm_import_module(cx.tcx, id) {
|
|
||||||
+ llvm::AddFunctionAttrStringValue(
|
|
||||||
+ llfn,
|
|
||||||
+ llvm::AttributePlace::Function,
|
|
||||||
+ cstr("wasm-import-module\0"),
|
|
||||||
+ &module,
|
|
||||||
+ );
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/src/librustc_codegen_llvm/base.rs b/src/librustc_codegen_llvm/base.rs
|
|
||||||
index 223c04f420f3..b0461582ddcb 100644
|
|
||||||
--- a/src/librustc_codegen_llvm/base.rs
|
|
||||||
+++ b/src/librustc_codegen_llvm/base.rs
|
|
||||||
@@ -486,27 +486,6 @@ pub fn codegen_instance<'a, 'tcx>(cx: &CodegenCx<'a, 'tcx>, instance: Instance<'
|
|
||||||
|
|
||||||
cx.stats.borrow_mut().n_closures += 1;
|
|
||||||
|
|
||||||
- // The `uwtable` attribute according to LLVM is:
|
|
||||||
- //
|
|
||||||
- // This attribute indicates that the ABI being targeted requires that an
|
|
||||||
- // unwind table entry be produced for this function even if we can show
|
|
||||||
- // that no exceptions passes by it. This is normally the case for the
|
|
||||||
- // ELF x86-64 abi, but it can be disabled for some compilation units.
|
|
||||||
- //
|
|
||||||
- // Typically when we're compiling with `-C panic=abort` (which implies this
|
|
||||||
- // `no_landing_pads` check) we don't need `uwtable` because we can't
|
|
||||||
- // generate any exceptions! On Windows, however, exceptions include other
|
|
||||||
- // events such as illegal instructions, segfaults, etc. This means that on
|
|
||||||
- // Windows we end up still needing the `uwtable` attribute even if the `-C
|
|
||||||
- // panic=abort` flag is passed.
|
|
||||||
- //
|
|
||||||
- // You can also find more info on why Windows is whitelisted here in:
|
|
||||||
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1302078
|
|
||||||
- if !cx.sess().no_landing_pads() ||
|
|
||||||
- cx.sess().target.target.options.requires_uwtable {
|
|
||||||
- attributes::emit_uwtable(lldecl, true);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
let mir = cx.tcx.instance_mir(instance.def);
|
|
||||||
mir::codegen_mir(cx, lldecl, &mir, instance, sig);
|
|
||||||
}
|
|
||||||
diff --git a/src/librustc_codegen_llvm/callee.rs b/src/librustc_codegen_llvm/callee.rs
|
|
||||||
index 2c01bd42cc77..97f07792ede8 100644
|
|
||||||
--- a/src/librustc_codegen_llvm/callee.rs
|
|
||||||
+++ b/src/librustc_codegen_llvm/callee.rs
|
|
||||||
@@ -97,7 +97,7 @@ pub fn get_fn<'a, 'tcx>(cx: &CodegenCx<'a, 'tcx>,
|
|
||||||
if instance.def.is_inline(tcx) {
|
|
||||||
attributes::inline(llfn, attributes::InlineAttr::Hint);
|
|
||||||
}
|
|
||||||
- attributes::from_fn_attrs(cx, llfn, instance.def.def_id());
|
|
||||||
+ attributes::from_fn_attrs(cx, llfn, Some(instance.def.def_id()));
|
|
||||||
|
|
||||||
let instance_def_id = instance.def_id();
|
|
||||||
|
|
||||||
diff --git a/src/librustc_codegen_llvm/intrinsic.rs b/src/librustc_codegen_llvm/intrinsic.rs
|
|
||||||
index 9c5c0f730c16..f69fce15dc55 100644
|
|
||||||
--- a/src/librustc_codegen_llvm/intrinsic.rs
|
|
||||||
+++ b/src/librustc_codegen_llvm/intrinsic.rs
|
|
||||||
@@ -10,6 +10,7 @@
|
|
||||||
|
|
||||||
#![allow(non_upper_case_globals)]
|
|
||||||
|
|
||||||
+use attributes;
|
|
||||||
use intrinsics::{self, Intrinsic};
|
|
||||||
use llvm;
|
|
||||||
use llvm::{ValueRef};
|
|
||||||
@@ -936,6 +937,7 @@ fn gen_fn<'a, 'tcx>(cx: &CodegenCx<'a, 'tcx>,
|
|
||||||
Abi::Rust
|
|
||||||
)));
|
|
||||||
let llfn = declare::define_internal_fn(cx, name, rust_fn_ty);
|
|
||||||
+ attributes::from_fn_attrs(cx, llfn, None);
|
|
||||||
let bx = Builder::new_block(cx, llfn, "entry-block");
|
|
||||||
codegen(bx);
|
|
||||||
llfn
|
|
||||||
diff --git a/src/librustc_codegen_llvm/mono_item.rs b/src/librustc_codegen_llvm/mono_item.rs
|
|
||||||
index a528008e3b4b..32d8b24e3c15 100644
|
|
||||||
--- a/src/librustc_codegen_llvm/mono_item.rs
|
|
||||||
+++ b/src/librustc_codegen_llvm/mono_item.rs
|
|
||||||
@@ -183,7 +183,7 @@ fn predefine_fn<'a, 'tcx>(cx: &CodegenCx<'a, 'tcx>,
|
|
||||||
if instance.def.is_inline(cx.tcx) {
|
|
||||||
attributes::inline(lldecl, attributes::InlineAttr::Hint);
|
|
||||||
}
|
|
||||||
- attributes::from_fn_attrs(cx, lldecl, instance.def.def_id());
|
|
||||||
+ attributes::from_fn_attrs(cx, lldecl, Some(instance.def.def_id()));
|
|
||||||
|
|
||||||
cx.instances.borrow_mut().insert(instance, lldecl);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
|
|
@ -1,122 +0,0 @@
|
|||||||
From f4e8d57b6ad6f599de54c020ba185db83cb011a3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Josh Stone <jistone@redhat.com>
|
|
||||||
Date: Thu, 16 Aug 2018 11:26:27 -0700
|
|
||||||
Subject: [PATCH] std: stop backtracing when the frames are full
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libstd/sys/cloudabi/backtrace.rs | 18 ++++++++++--------
|
|
||||||
src/libstd/sys/redox/backtrace/tracing.rs | 18 ++++++++++--------
|
|
||||||
src/libstd/sys/unix/backtrace/tracing/gcc_s.rs | 18 ++++++++++--------
|
|
||||||
3 files changed, 30 insertions(+), 24 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libstd/sys/cloudabi/backtrace.rs b/src/libstd/sys/cloudabi/backtrace.rs
|
|
||||||
index 1b970187558c..2c43b5937ce5 100644
|
|
||||||
--- a/src/libstd/sys/cloudabi/backtrace.rs
|
|
||||||
+++ b/src/libstd/sys/cloudabi/backtrace.rs
|
|
||||||
@@ -64,6 +64,10 @@ extern "C" fn trace_fn(
|
|
||||||
arg: *mut libc::c_void,
|
|
||||||
) -> uw::_Unwind_Reason_Code {
|
|
||||||
let cx = unsafe { &mut *(arg as *mut Context) };
|
|
||||||
+ if cx.idx >= cx.frames.len() {
|
|
||||||
+ return uw::_URC_NORMAL_STOP;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
let mut ip_before_insn = 0;
|
|
||||||
let mut ip = unsafe { uw::_Unwind_GetIPInfo(ctx, &mut ip_before_insn) as *mut libc::c_void };
|
|
||||||
if !ip.is_null() && ip_before_insn == 0 {
|
|
||||||
@@ -73,14 +77,12 @@ extern "C" fn trace_fn(
|
|
||||||
}
|
|
||||||
|
|
||||||
let symaddr = unsafe { uw::_Unwind_FindEnclosingFunction(ip) };
|
|
||||||
- if cx.idx < cx.frames.len() {
|
|
||||||
- cx.frames[cx.idx] = Frame {
|
|
||||||
- symbol_addr: symaddr as *mut u8,
|
|
||||||
- exact_position: ip as *mut u8,
|
|
||||||
- inline_context: 0,
|
|
||||||
- };
|
|
||||||
- cx.idx += 1;
|
|
||||||
- }
|
|
||||||
+ cx.frames[cx.idx] = Frame {
|
|
||||||
+ symbol_addr: symaddr as *mut u8,
|
|
||||||
+ exact_position: ip as *mut u8,
|
|
||||||
+ inline_context: 0,
|
|
||||||
+ };
|
|
||||||
+ cx.idx += 1;
|
|
||||||
|
|
||||||
uw::_URC_NO_REASON
|
|
||||||
}
|
|
||||||
diff --git a/src/libstd/sys/redox/backtrace/tracing.rs b/src/libstd/sys/redox/backtrace/tracing.rs
|
|
||||||
index bb70ca360370..c0414b78f8d6 100644
|
|
||||||
--- a/src/libstd/sys/redox/backtrace/tracing.rs
|
|
||||||
+++ b/src/libstd/sys/redox/backtrace/tracing.rs
|
|
||||||
@@ -68,6 +68,10 @@ pub fn unwind_backtrace(frames: &mut [Frame])
|
|
||||||
extern fn trace_fn(ctx: *mut uw::_Unwind_Context,
|
|
||||||
arg: *mut libc::c_void) -> uw::_Unwind_Reason_Code {
|
|
||||||
let cx = unsafe { &mut *(arg as *mut Context) };
|
|
||||||
+ if cx.idx >= cx.frames.len() {
|
|
||||||
+ return uw::_URC_NORMAL_STOP;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
let mut ip_before_insn = 0;
|
|
||||||
let mut ip = unsafe {
|
|
||||||
uw::_Unwind_GetIPInfo(ctx, &mut ip_before_insn) as *mut libc::c_void
|
|
||||||
@@ -94,14 +98,12 @@ extern fn trace_fn(ctx: *mut uw::_Unwind_Context,
|
|
||||||
unsafe { uw::_Unwind_FindEnclosingFunction(ip) }
|
|
||||||
};
|
|
||||||
|
|
||||||
- if cx.idx < cx.frames.len() {
|
|
||||||
- cx.frames[cx.idx] = Frame {
|
|
||||||
- symbol_addr: symaddr as *mut u8,
|
|
||||||
- exact_position: ip as *mut u8,
|
|
||||||
- inline_context: 0,
|
|
||||||
- };
|
|
||||||
- cx.idx += 1;
|
|
||||||
- }
|
|
||||||
+ cx.frames[cx.idx] = Frame {
|
|
||||||
+ symbol_addr: symaddr as *mut u8,
|
|
||||||
+ exact_position: ip as *mut u8,
|
|
||||||
+ inline_context: 0,
|
|
||||||
+ };
|
|
||||||
+ cx.idx += 1;
|
|
||||||
|
|
||||||
uw::_URC_NO_REASON
|
|
||||||
}
|
|
||||||
diff --git a/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs b/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs
|
|
||||||
index 1b92fc0e6ad0..6e8415686792 100644
|
|
||||||
--- a/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs
|
|
||||||
+++ b/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs
|
|
||||||
@@ -68,6 +68,10 @@ pub fn unwind_backtrace(frames: &mut [Frame])
|
|
||||||
extern fn trace_fn(ctx: *mut uw::_Unwind_Context,
|
|
||||||
arg: *mut libc::c_void) -> uw::_Unwind_Reason_Code {
|
|
||||||
let cx = unsafe { &mut *(arg as *mut Context) };
|
|
||||||
+ if cx.idx >= cx.frames.len() {
|
|
||||||
+ return uw::_URC_NORMAL_STOP;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
let mut ip_before_insn = 0;
|
|
||||||
let mut ip = unsafe {
|
|
||||||
uw::_Unwind_GetIPInfo(ctx, &mut ip_before_insn) as *mut libc::c_void
|
|
||||||
@@ -94,14 +98,12 @@ extern fn trace_fn(ctx: *mut uw::_Unwind_Context,
|
|
||||||
unsafe { uw::_Unwind_FindEnclosingFunction(ip) }
|
|
||||||
};
|
|
||||||
|
|
||||||
- if cx.idx < cx.frames.len() {
|
|
||||||
- cx.frames[cx.idx] = Frame {
|
|
||||||
- symbol_addr: symaddr as *mut u8,
|
|
||||||
- exact_position: ip as *mut u8,
|
|
||||||
- inline_context: 0,
|
|
||||||
- };
|
|
||||||
- cx.idx += 1;
|
|
||||||
- }
|
|
||||||
+ cx.frames[cx.idx] = Frame {
|
|
||||||
+ symbol_addr: symaddr as *mut u8,
|
|
||||||
+ exact_position: ip as *mut u8,
|
|
||||||
+ inline_context: 0,
|
|
||||||
+ };
|
|
||||||
+ cx.idx += 1;
|
|
||||||
|
|
||||||
uw::_URC_NO_REASON
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From 1ea2765918d1212a07e1359537470c477d82a681 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Josh Stone <jistone@redhat.com>
|
|
||||||
Date: Mon, 30 Jul 2018 13:08:56 -0700
|
|
||||||
Subject: [PATCH] run-pass/const-endianness: negate before to_le()
|
|
||||||
|
|
||||||
`const LE_I128` needs parentheses to negate the value *before* calling
|
|
||||||
`to_le()`, otherwise it doesn't match the operations performed in the
|
|
||||||
black-boxed part of the test. This only makes a tangible difference on
|
|
||||||
big-endian targets.
|
|
||||||
---
|
|
||||||
src/test/run-pass/const-endianess.rs | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/test/run-pass/const-endianess.rs b/src/test/run-pass/const-endianess.rs
|
|
||||||
index fa34b49210a6..95c738d3ec49 100644
|
|
||||||
--- a/src/test/run-pass/const-endianess.rs
|
|
||||||
+++ b/src/test/run-pass/const-endianess.rs
|
|
||||||
@@ -25,7 +25,7 @@ fn main() {
|
|
||||||
#[cfg(not(target_arch = "asmjs"))]
|
|
||||||
{
|
|
||||||
const BE_U128: u128 = 999999u128.to_be();
|
|
||||||
- const LE_I128: i128 = -999999i128.to_le();
|
|
||||||
+ const LE_I128: i128 = (-999999i128).to_le();
|
|
||||||
assert_eq!(BE_U128, b(999999u128).to_be());
|
|
||||||
assert_eq!(LE_I128, b(-999999i128).to_le());
|
|
||||||
}
|
|
42
rust.spec
42
rust.spec
@ -9,10 +9,10 @@
|
|||||||
# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
|
# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
|
||||||
# or nightly wants some beta-YYYY-MM-DD
|
# or nightly wants some beta-YYYY-MM-DD
|
||||||
# Note that cargo matches the program version here, not its crate version.
|
# Note that cargo matches the program version here, not its crate version.
|
||||||
%global bootstrap_rust 1.28.0
|
%global bootstrap_rust 1.29.2
|
||||||
%global bootstrap_cargo 1.28.0
|
%global bootstrap_cargo 1.29.0
|
||||||
%global bootstrap_channel %{bootstrap_rust}
|
%global bootstrap_channel %{bootstrap_rust}
|
||||||
%global bootstrap_date 2018-08-02
|
%global bootstrap_date 2018-10-12
|
||||||
|
|
||||||
# Only the specified arches will use bootstrap binaries.
|
# Only the specified arches will use bootstrap binaries.
|
||||||
#global bootstrap_arches %%{rust_arches}
|
#global bootstrap_arches %%{rust_arches}
|
||||||
@ -55,15 +55,15 @@
|
|||||||
# Some sub-packages are versioned independently of the rust compiler and runtime itself.
|
# Some sub-packages are versioned independently of the rust compiler and runtime itself.
|
||||||
# Also beware that if any of these are not changed in a version bump, then the release
|
# Also beware that if any of these are not changed in a version bump, then the release
|
||||||
# number should still increase, not be reset to 1!
|
# number should still increase, not be reset to 1!
|
||||||
%global rustc_version 1.29.2
|
%global rustc_version 1.30.0
|
||||||
%global cargo_version 1.29.0
|
%global cargo_version 1.30.0
|
||||||
%global rustfmt_version 0.99.1
|
%global rustfmt_version 0.99.4
|
||||||
%global rls_version 0.130.0
|
%global rls_version 0.130.5
|
||||||
%global clippy_version 0.0.212
|
%global clippy_version 0.0.212
|
||||||
|
|
||||||
Name: rust
|
Name: rust
|
||||||
Version: %{rustc_version}
|
Version: %{rustc_version}
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
Summary: The Rust Programming Language
|
Summary: The Rust Programming Language
|
||||||
License: (ASL 2.0 or MIT) and (BSD and MIT)
|
License: (ASL 2.0 or MIT) and (BSD and MIT)
|
||||||
# ^ written as: (rust itself) and (bundled libraries)
|
# ^ written as: (rust itself) and (bundled libraries)
|
||||||
@ -77,15 +77,6 @@ ExclusiveArch: %{rust_arches}
|
|||||||
%endif
|
%endif
|
||||||
Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
|
Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
|
||||||
|
|
||||||
# https://github.com/rust-lang/rust/pull/52876
|
|
||||||
Patch1: rust-52876-const-endianess.patch
|
|
||||||
|
|
||||||
# https://github.com/rust-lang/rust/pull/53436
|
|
||||||
Patch2: 0001-std-stop-backtracing-when-the-frames-are-full.patch
|
|
||||||
|
|
||||||
# https://github.com/rust-lang/rust/pull/53437
|
|
||||||
Patch3: 0001-Set-more-llvm-function-attributes-for-__rust_try.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)
|
||||||
local abi = "gnu"
|
local abi = "gnu"
|
||||||
@ -409,10 +400,6 @@ test -f '%{local_rust_root}/bin/rustc'
|
|||||||
|
|
||||||
%setup -q -n %{rustc_package}
|
%setup -q -n %{rustc_package}
|
||||||
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
%if "%{python}" == "python3"
|
%if "%{python}" == "python3"
|
||||||
sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure
|
sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure
|
||||||
%endif
|
%endif
|
||||||
@ -427,15 +414,15 @@ rm -rf src/llvm/
|
|||||||
# We never enable emscripten.
|
# We never enable emscripten.
|
||||||
rm -rf src/llvm-emscripten/
|
rm -rf src/llvm-emscripten/
|
||||||
|
|
||||||
|
# We never enable other LLVM tools.
|
||||||
|
rm -rf src/tools/clang
|
||||||
|
rm -rf src/tools/lld
|
||||||
|
rm -rf src/tools/lldb
|
||||||
|
|
||||||
# extract bundled licenses for packaging
|
# extract bundled licenses for packaging
|
||||||
sed -e '/*\//q' src/libbacktrace/backtrace.h \
|
sed -e '/*\//q' src/libbacktrace/backtrace.h \
|
||||||
>src/libbacktrace/LICENSE-libbacktrace
|
>src/libbacktrace/LICENSE-libbacktrace
|
||||||
|
|
||||||
# This tests a problem of exponential growth, which seems to be less-reliably
|
|
||||||
# fixed when running on older LLVM and/or some arches. Just skip it for now.
|
|
||||||
sed -i.ignore -e '1i // ignore-test may still be exponential...' \
|
|
||||||
src/test/run-pass/issue-41696.rs
|
|
||||||
|
|
||||||
%if %{with bundled_llvm} && 0%{?epel}
|
%if %{with bundled_llvm} && 0%{?epel}
|
||||||
mkdir -p cmake-bin
|
mkdir -p cmake-bin
|
||||||
ln -s /usr/bin/cmake3 cmake-bin/cmake
|
ln -s /usr/bin/cmake3 cmake-bin/cmake
|
||||||
@ -695,6 +682,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py*
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 25 2018 Josh Stone <jistone@redhat.com> - 1.30.0-6
|
||||||
|
- Update to 1.30.0.
|
||||||
|
|
||||||
* Mon Oct 22 2018 Josh Stone <jistone@redhat.com> - 1.29.2-5
|
* Mon Oct 22 2018 Josh Stone <jistone@redhat.com> - 1.29.2-5
|
||||||
- Rebuild without bootstrap binaries.
|
- Rebuild without bootstrap binaries.
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (rustc-1.29.2-src.tar.xz) = d8fa9501764348ace8f60f2069bcd016925abe56c8bbc2b87fb52ff796e4bc7284c1fccbb1671416437bb82fde7d9240eeae875d6099914e27e75cfe050e2d38
|
SHA512 (rustc-1.30.0-src.tar.xz) = f5f2f8379b43f68a9c1acd476a41fab2fb3a9458146fbdb21dfb2f5d1ab86905933b9541e866f5fbb520dafe349e0ab87bc6c9466774c4616007d547e6aeaa59
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
SHA512 (rustc-1.29.2-src.tar.xz) = d8fa9501764348ace8f60f2069bcd016925abe56c8bbc2b87fb52ff796e4bc7284c1fccbb1671416437bb82fde7d9240eeae875d6099914e27e75cfe050e2d38
|
SHA512 (rustc-1.30.0-src.tar.xz) = f5f2f8379b43f68a9c1acd476a41fab2fb3a9458146fbdb21dfb2f5d1ab86905933b9541e866f5fbb520dafe349e0ab87bc6c9466774c4616007d547e6aeaa59
|
||||||
SHA512 (rust-1.28.0-aarch64-unknown-linux-gnu.tar.xz) = 8d9acbc90ddaa1e0de0234a21798b19b5365ea371a12f9a143c6ebacbb48f57344da6e827e867513be502bce2801de27a0dbbacdf8618c653aeb58026b6c469c
|
SHA512 (rust-1.29.2-aarch64-unknown-linux-gnu.tar.xz) = f871359a3b1ac54fb237921204d98ef4fac06830e9835849538397c27d40283662c0f6ab3f6eafe0e9ef63182a460e26d615111055430ece0fe94ddf7ad03914
|
||||||
SHA512 (rust-1.28.0-armv7-unknown-linux-gnueabihf.tar.xz) = 9142110e0c24657aca41468648d9364c2e6fce60b08ca7113c944a53701fc5a309481a8fdd5845b229bcc750ccad63af561d452c3a3a0727ab1ca7a461b06d3d
|
SHA512 (rust-1.29.2-armv7-unknown-linux-gnueabihf.tar.xz) = bff1220781eca904a93d2cefafed3587e3f76e1dc04fbef09a0281295b6c06491c5fa327830c430d31df80eb7a3e64eac7f45739bc118e3626854f96dce246e2
|
||||||
SHA512 (rust-1.28.0-i686-unknown-linux-gnu.tar.xz) = ffdfab46db14f07354b553e02fdb9dc6602c2c52b78d8f17c499f4ddb1e257aa53479df836eb3f06a2548d34296b0277cdb6b4c6f3cec57265823df22752c135
|
SHA512 (rust-1.29.2-i686-unknown-linux-gnu.tar.xz) = faac22aec54d0754ff991f2a34ed7b8bfefa8dc9720d247eec1c6b671bbc701907146a796699591e4a677a0f378b9d96bfea5b33452f05dd876c668525f9f33d
|
||||||
SHA512 (rust-1.28.0-powerpc64le-unknown-linux-gnu.tar.xz) = bdbdf3a64a184dd4510a113bbe20c058f42e35321cd2fb7c938487dfc9b1f04320b523ea215dd92a23c2537292eeb064097119e2097d6e24a1c4e237d9d4fc8b
|
SHA512 (rust-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz) = b9181da601a467f46713f2f438fc7ad69c46fc310e62a8d45f665744c8578491d832b8624ff454c19c94f1694fa406846a82289250241030a70b2cb4b88913d1
|
||||||
SHA512 (rust-1.28.0-powerpc64-unknown-linux-gnu.tar.xz) = 1bd2c5069beecb765a2305715070e4052d5a66dafe50a5b53bea2c2082b22b3f9a2d2b9fb059c93476f88ee5e602effc18b807e5c964610e8255a3a945931f51
|
SHA512 (rust-1.29.2-powerpc64-unknown-linux-gnu.tar.xz) = 1af0b55bc62d7641d33e2d33aadaf474298d3284cb2d914be0240eae54e20f464513db4b04f7518385dc5135498c58ec18e0d4cc6341c9e165847536479f44dc
|
||||||
SHA512 (rust-1.28.0-s390x-unknown-linux-gnu.tar.xz) = 5ffb44d16c990b8a6377b64e5042a3b2e709bcc7187013dbe4ab3c9d8cd781b6bf07b0d374340e2ccabe9f84fd4731b606cb05a10a739ebcfa49652518a2aa46
|
SHA512 (rust-1.29.2-s390x-unknown-linux-gnu.tar.xz) = f76a030257edbdd993d7a4e83da895c8b4749904fb2252a125b3e4ef4331a1cb2c389ec54a372bea413718e3dad987e4b17eb29d301c29ba330222502e6b9b75
|
||||||
SHA512 (rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz) = 4f427c11a9cd22aedd01bd7ed5bee2ba5e00a27db25af4f596cf8627d88eff8e72625eb83729d2e6c6780aaffd44c0e7065a1c8fa22f4899349b72c726cf6a5f
|
SHA512 (rust-1.29.2-x86_64-unknown-linux-gnu.tar.xz) = 8bc05942a72b186ea1765831bea6921f734e2dd58790a8e427a6d63a2db0d9064937d3198ca3febffeba73b1cc3bef716155ef6cb32127ddeef29ac884cde4b8
|
||||||
|
Loading…
Reference in New Issue
Block a user