diff --git a/rust-1.19.0-43297-configure-debuginfo.patch b/rust-1.19.0-43297-configure-debuginfo.patch deleted file mode 100644 index dac7b61..0000000 --- a/rust-1.19.0-43297-configure-debuginfo.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 253ff9c24f0e11323ae4f173cc620721fb322beb Mon Sep 17 00:00:00 2001 -From: Ximin Luo -Date: Mon, 17 Jul 2017 22:29:09 +0200 -Subject: [PATCH] configure: allow distros to disable debuginfo-only-std - ---- - configure | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure b/configure -index af59d5b0bb88..084f5bfdedbc 100755 ---- a/configure -+++ b/configure -@@ -558,8 +558,8 @@ case "$CFG_RELEASE_CHANNEL" in - *-pc-windows-gnu) - ;; - *) -- CFG_ENABLE_DEBUGINFO_LINES=1 -- CFG_ENABLE_DEBUGINFO_ONLY_STD=1 -+ enable_if_not_disabled debuginfo-lines -+ enable_if_not_disabled debuginfo-only-std - ;; - esac - -@@ -570,8 +570,8 @@ case "$CFG_RELEASE_CHANNEL" in - *-pc-windows-gnu) - ;; - *) -- CFG_ENABLE_DEBUGINFO_LINES=1 -- CFG_ENABLE_DEBUGINFO_ONLY_STD=1 -+ enable_if_not_disabled debuginfo-lines -+ enable_if_not_disabled debuginfo-only-std - ;; - esac - ;; --- -2.13.3 - diff --git a/rust-1.20.0-44066-ppc64-struct-abi.patch b/rust-1.21.0-44066-ppc64-struct-abi.patch similarity index 93% rename from rust-1.20.0-44066-ppc64-struct-abi.patch rename to rust-1.21.0-44066-ppc64-struct-abi.patch index 3f7d3b8..de922be 100644 --- a/rust-1.20.0-44066-ppc64-struct-abi.patch +++ b/rust-1.21.0-44066-ppc64-struct-abi.patch @@ -1,4 +1,4 @@ -From 6f680d06544edae491d2281d89b0b93efcdd6143 Mon Sep 17 00:00:00 2001 +From bc3a71ed00af01855b0ae8908ae271b83eca34f6 Mon Sep 17 00:00:00 2001 From: bors Date: Sat, 2 Sep 2017 19:46:51 +0000 Subject: [PATCH] Auto merge of #44066 - cuviper:powerpc64-extern-abi, @@ -35,7 +35,7 @@ formerly-failing tests now pass on powerpc64: 6 files changed, 151 insertions(+), 44 deletions(-) diff --git a/src/librustc_trans/cabi_powerpc64.rs b/src/librustc_trans/cabi_powerpc64.rs -index c4f8d0b4b963..a3780c8cfa92 100644 +index 5c695387236f..fb5472eb6ae1 100644 --- a/src/librustc_trans/cabi_powerpc64.rs +++ b/src/librustc_trans/cabi_powerpc64.rs @@ -14,14 +14,26 @@ @@ -44,7 +44,7 @@ index c4f8d0b4b963..a3780c8cfa92 100644 use context::CrateContext; +use rustc::ty::layout; --fn is_homogenous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut ArgType<'tcx>) +-fn is_homogeneous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut ArgType<'tcx>) +#[derive(Debug, Clone, Copy, PartialEq)] +enum ABI { + ELFv1, // original ABI used for powerpc64 (big-endian) @@ -52,11 +52,11 @@ index c4f8d0b4b963..a3780c8cfa92 100644 +} +use self::ABI::*; + -+fn is_homogenous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, -+ arg: &mut ArgType<'tcx>, -+ abi: ABI) ++fn is_homogeneous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, ++ arg: &mut ArgType<'tcx>, ++ abi: ABI) -> Option { - arg.layout.homogenous_aggregate(ccx).and_then(|unit| { + arg.layout.homogeneous_aggregate(ccx).and_then(|unit| { let size = arg.layout.size(ccx); - // Ensure we have at most eight uniquely addressable members. @@ -68,7 +68,7 @@ index c4f8d0b4b963..a3780c8cfa92 100644 return None; } -@@ -42,21 +54,23 @@ fn is_homogenous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut Arg +@@ -42,21 +54,23 @@ fn is_homogeneous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut Ar }) } @@ -87,8 +87,8 @@ index c4f8d0b4b963..a3780c8cfa92 100644 + return; } -- if let Some(uniform) = is_homogenous_aggregate(ccx, ret) { -+ if let Some(uniform) = is_homogenous_aggregate(ccx, ret, abi) { +- if let Some(uniform) = is_homogeneous_aggregate(ccx, ret) { ++ if let Some(uniform) = is_homogeneous_aggregate(ccx, ret, abi) { ret.cast_to(ccx, uniform); return; } @@ -107,8 +107,8 @@ index c4f8d0b4b963..a3780c8cfa92 100644 return; } -- if let Some(uniform) = is_homogenous_aggregate(ccx, arg) { -+ if let Some(uniform) = is_homogenous_aggregate(ccx, arg, abi) { +- if let Some(uniform) = is_homogeneous_aggregate(ccx, arg) { ++ if let Some(uniform) = is_homogeneous_aggregate(ccx, arg, abi) { arg.cast_to(ccx, uniform); return; } @@ -159,7 +159,7 @@ index c4f8d0b4b963..a3780c8cfa92 100644 } } diff --git a/src/librustc_trans/cabi_x86.rs b/src/librustc_trans/cabi_x86.rs -index 9f5520dabe33..05932ef2de80 100644 +index 8b024b8c97fa..49634d6e78ce 100644 --- a/src/librustc_trans/cabi_x86.rs +++ b/src/librustc_trans/cabi_x86.rs @@ -11,12 +11,30 @@ diff --git a/rust-1.20.0-44203-exclude-compiler-rt-test.patch b/rust-1.21.0-44203-exclude-compiler-rt-test.patch similarity index 70% rename from rust-1.20.0-44203-exclude-compiler-rt-test.patch rename to rust-1.21.0-44203-exclude-compiler-rt-test.patch index eac112a..feba8ab 100644 --- a/rust-1.20.0-44203-exclude-compiler-rt-test.patch +++ b/rust-1.21.0-44203-exclude-compiler-rt-test.patch @@ -14,14 +14,14 @@ diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs index 746f85a9d59d..05d59e7d5956 100644 --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs -@@ -562,7 +562,7 @@ impl Step for Src { - "src/libprofiler_builtins", - ]; - let std_src_dirs_exclude = [ -- "src/compiler-rt/test", -+ "src/libcompiler_builtins/compiler-rt/test", - "src/jemalloc/test/unit", - ]; +@@ -754,7 +754,7 @@ impl Step for Src { + "src/libprofiler_builtins", + ]; + let std_src_dirs_exclude = [ +- "src/compiler-rt/test", ++ "src/libcompiler_builtins/compiler-rt/test", + "src/jemalloc/test/unit", + ]; -- 2.13.5 diff --git a/rust-1.21.0-44353-install-rustc.patch b/rust-1.21.0-44353-install-rustc.patch new file mode 100644 index 0000000..0b6dec4 --- /dev/null +++ b/rust-1.21.0-44353-install-rustc.patch @@ -0,0 +1,28 @@ +From 110efe25fae60570c00e00d4c6d609f3f9666fb3 Mon Sep 17 00:00:00 2001 +From: Josh Stone +Date: Tue, 5 Sep 2017 14:19:22 -0700 +Subject: [PATCH] Include rustc in the default `./x.py install` + +The default install used to include rustc, rust-std, and rust-docs, but +the refactoring in commit 6b3413d825fa6 make rustc only default in +extended builds. This commit makes rustc installed by default again. +--- + src/bootstrap/install.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs +index 89690e444d1f..608924c9c28d 100644 +--- a/src/bootstrap/install.rs ++++ b/src/bootstrap/install.rs +@@ -200,7 +200,7 @@ install!((self, builder, _config), + builder.ensure(dist::Src); + install_src(builder, self.stage); + }, ONLY_BUILD; +- Rustc, "src/librustc", _config.extended, only_hosts: true, { ++ Rustc, "src/librustc", true, only_hosts: true, { + builder.ensure(dist::Rustc { + compiler: builder.compiler(self.stage, self.target), + }); +-- +2.13.5 + diff --git a/rust-1.20.0-44440-s390x-global-align.patch b/rust-1.21.0-44440-s390x-global-align.patch similarity index 91% rename from rust-1.20.0-44440-s390x-global-align.patch rename to rust-1.21.0-44440-s390x-global-align.patch index ddc2180..b368907 100644 --- a/rust-1.20.0-44440-s390x-global-align.patch +++ b/rust-1.21.0-44440-s390x-global-align.patch @@ -1,7 +1,8 @@ -From 3ca86983df58daf0242b0618d3beb9ea917193e2 Mon Sep 17 00:00:00 2001 +From 0f5ee28213a73733e6811b176c89ecececfe9cbc Mon Sep 17 00:00:00 2001 From: bors Date: Mon, 11 Sep 2017 12:53:21 +0000 -Subject: [PATCH] Auto merge of #44440 - cuviper:min_global_align, r=japaric +Subject: [PATCH] Auto merge of #44440 - cuviper:min_global_align, + r=japaric Add `TargetOptions::min_global_align`, with s390x at 16-bit @@ -27,10 +28,10 @@ r? @eddyb create mode 100644 src/test/run-make/min-global-align/min_global_align.rs diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs -index edbbcf6f0b64..f88a3879d6c0 100644 +index 130e1b695dbd..301cf3f8c820 100644 --- a/src/librustc_back/target/mod.rs +++ b/src/librustc_back/target/mod.rs -@@ -414,6 +414,9 @@ pub struct TargetOptions { +@@ -425,6 +425,9 @@ pub struct TargetOptions { /// Whether or not stack probes (__rust_probestack) are enabled pub stack_probes: bool, @@ -40,25 +41,25 @@ index edbbcf6f0b64..f88a3879d6c0 100644 } impl Default for TargetOptions { -@@ -472,6 +475,7 @@ impl Default for TargetOptions { - abi_blacklist: vec![], +@@ -486,6 +489,7 @@ impl Default for TargetOptions { crt_static_default: false, + crt_static_respected: false, stack_probes: false, + min_global_align: None, } } } -@@ -695,6 +699,7 @@ impl Target { - try!(key!(panic_strategy, PanicStrategy)); +@@ -724,6 +728,7 @@ impl Target { key!(crt_static_default, bool); + key!(crt_static_respected, bool); key!(stack_probes, bool); + key!(min_global_align, Option); if let Some(array) = obj.find("abi-blacklist").and_then(Json::as_array) { for name in array.iter().filter_map(|abi| abi.as_string()) { -@@ -882,6 +887,7 @@ impl ToJson for Target { - target_option_val!(panic_strategy); +@@ -914,6 +919,7 @@ impl ToJson for Target { target_option_val!(crt_static_default); + target_option_val!(crt_static_respected); target_option_val!(stack_probes); + target_option_val!(min_global_align); @@ -77,7 +78,7 @@ index 78a6bb7933d9..aad9effacd44 100644 Ok(Target { llvm_target: "s390x-unknown-linux-gnu".to_string(), diff --git a/src/librustc_trans/consts.rs b/src/librustc_trans/consts.rs -index eac0a0625671..cfb29d848d0f 100644 +index 310cd6fe9559..f7f9b9386841 100644 --- a/src/librustc_trans/consts.rs +++ b/src/librustc_trans/consts.rs @@ -26,6 +26,7 @@ use rustc::ty; @@ -88,7 +89,7 @@ index eac0a0625671..cfb29d848d0f 100644 use std::ffi::{CStr, CString}; use syntax::ast; use syntax::attr; -@@ -36,6 +37,25 @@ pub fn ptrcast(val: ValueRef, ty: Type) -> ValueRef { +@@ -42,6 +43,25 @@ pub fn bitcast(val: ValueRef, ty: Type) -> ValueRef { } } @@ -114,7 +115,7 @@ index eac0a0625671..cfb29d848d0f 100644 pub fn addr_of_mut(ccx: &CrateContext, cv: ValueRef, align: machine::llalign, -@@ -47,7 +67,7 @@ pub fn addr_of_mut(ccx: &CrateContext, +@@ -53,7 +73,7 @@ pub fn addr_of_mut(ccx: &CrateContext, bug!("symbol `{}` is already defined", name); }); llvm::LLVMSetInitializer(gv, cv); @@ -123,7 +124,7 @@ index eac0a0625671..cfb29d848d0f 100644 llvm::LLVMRustSetLinkage(gv, llvm::Linkage::InternalLinkage); SetUnnamedAddr(gv, true); gv -@@ -251,7 +271,7 @@ pub fn trans_static<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, +@@ -271,7 +291,7 @@ pub fn trans_static<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, ccx.statics_to_rauw().borrow_mut().push((g, new_g)); new_g }; diff --git a/rust.spec b/rust.spec index 035cfe4..b2f4517 100644 --- a/rust.spec +++ b/rust.spec @@ -3,15 +3,15 @@ %global rust_arches x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x # The channel can be stable, beta, or nightly -%{!?channel: %global channel stable} +%{!?channel: %global channel beta} # To bootstrap from scratch, set the channel and date from src/stage0.txt # e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24 # or nightly wants some beta-YYYY-MM-DD -%global bootstrap_rust 1.19.0 -%global bootstrap_cargo 0.20.0 +%global bootstrap_rust 1.20.0 +%global bootstrap_cargo 0.21.0 %global bootstrap_channel %{bootstrap_rust} -%global bootstrap_date 2017-07-20 +%global bootstrap_date 2017-08-31 # Only the specified arches will use bootstrap binaries. #global bootstrap_arches %%{rust_arches} @@ -47,8 +47,8 @@ Name: rust -Version: 1.20.0 -Release: 2%{?dist} +Version: 1.21.0 +Release: 0.beta.2%{?dist} Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and ISC and MIT) # ^ written as: (rust itself) and (bundled libraries) @@ -62,10 +62,10 @@ ExclusiveArch: %{rust_arches} %endif Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz -Patch1: rust-1.19.0-43297-configure-debuginfo.patch -Patch2: rust-1.20.0-44203-exclude-compiler-rt-test.patch -Patch3: rust-1.20.0-44066-ppc64-struct-abi.patch -Patch4: rust-1.20.0-44440-s390x-global-align.patch +Patch1: rust-1.21.0-44203-exclude-compiler-rt-test.patch +Patch2: rust-1.21.0-44353-install-rustc.patch +Patch3: rust-1.21.0-44066-ppc64-struct-abi.patch +Patch4: rust-1.21.0-44440-s390x-global-align.patch # Get the Rust triple for any arch. %{lua: function rust_triple(arch) @@ -311,8 +311,8 @@ sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \ src/librustc_llvm/lib.rs %endif -%patch1 -p1 -b .debuginfo -%patch2 -p1 -b .compiler-rt +%patch1 -p1 -b .compiler-rt +%patch2 -p1 -b .install-rustc %patch3 -p1 -b .ppc64-struct-abi %patch4 -p1 -b .s390x-global-align @@ -473,6 +473,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog +* Tue Sep 12 2017 Josh Stone - 1.21.0-0.beta.2 +- beta test + * Mon Sep 11 2017 Josh Stone - 1.20.0-2 - ABI fixes for ppc64 and s390x.