Merge branch 'master' into beta

This commit is contained in:
Josh Stone 2020-01-17 16:29:42 -08:00
commit 966da21ad0
8 changed files with 220 additions and 23 deletions

8
.gitignore vendored
View File

@ -236,3 +236,11 @@
/rust-1.38.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.38.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.38.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.40.0-src.tar.xz
/rust-1.39.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.39.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.39.0-i686-unknown-linux-gnu.tar.xz
/rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.39.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz

View File

@ -0,0 +1,32 @@
From f6832adadb84364ce0c81fa02910b3706f441abc Mon Sep 17 00:00:00 2001
From: Mark Rousskov <mark.simulacrum@gmail.com>
Date: Wed, 6 Nov 2019 15:17:02 -0500
Subject: [PATCH] Compiletest bump to stage0 bootstrap libtest
---
src/tools/compiletest/src/main.rs | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs
index 34435819a2c4..b115539b4af3 100644
--- a/src/tools/compiletest/src/main.rs
+++ b/src/tools/compiletest/src/main.rs
@@ -568,6 +568,7 @@ pub fn test_opts(config: &Config) -> test::TestOpts {
skip: vec![],
list: false,
options: test::Options::new(),
+ time_options: None,
}
}
@@ -703,6 +704,7 @@ pub fn make_test(config: &Config, testpaths: &TestPaths) -> Vec<test::TestDescAn
ignore,
should_panic,
allow_fail: false,
+ test_type: test::TestType::Unknown,
},
testfn: make_test_closure(config, early_props.ignore, testpaths, revision),
}
--
2.24.1

View File

@ -0,0 +1,52 @@
From b6fd4598c5367e78b5841fd99412484f0e86fc21 Mon Sep 17 00:00:00 2001
From: Amanieu d'Antras <amanieu@gmail.com>
Date: Wed, 1 Jan 2020 17:11:45 +0100
Subject: [PATCH] Update the barrier cache during ARM EHABI unwinding
---
src/libpanic_unwind/gcc.rs | 8 +++++++-
src/libunwind/libunwind.rs | 2 ++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/libpanic_unwind/gcc.rs b/src/libpanic_unwind/gcc.rs
index 4f572fe21b30..328d0d4ce7be 100644
--- a/src/libpanic_unwind/gcc.rs
+++ b/src/libpanic_unwind/gcc.rs
@@ -187,7 +187,13 @@ cfg_if::cfg_if! {
match eh_action {
EHAction::None |
EHAction::Cleanup(_) => return continue_unwind(exception_object, context),
- EHAction::Catch(_) => return uw::_URC_HANDLER_FOUND,
+ EHAction::Catch(_) => {
+ // EHABI requires the personality routine to update the
+ // SP value in the barrier cache of the exception object.
+ (*exception_object).private[5] =
+ uw::_Unwind_GetGR(context, uw::UNWIND_SP_REG);
+ return uw::_URC_HANDLER_FOUND;
+ }
EHAction::Terminate => return uw::_URC_FAILURE,
}
} else {
diff --git a/src/libunwind/libunwind.rs b/src/libunwind/libunwind.rs
index 0b39503c0d03..30658ce328d8 100644
--- a/src/libunwind/libunwind.rs
+++ b/src/libunwind/libunwind.rs
@@ -23,6 +23,7 @@ pub type _Unwind_Word = uintptr_t;
pub type _Unwind_Ptr = uintptr_t;
pub type _Unwind_Trace_Fn = extern "C" fn(ctx: *mut _Unwind_Context, arg: *mut c_void)
-> _Unwind_Reason_Code;
+
#[cfg(target_arch = "x86")]
pub const unwinder_private_data_size: usize = 5;
@@ -151,6 +152,7 @@ if #[cfg(all(any(target_os = "ios", target_os = "netbsd", not(target_arch = "arm
use _Unwind_VRS_DataRepresentation::*;
pub const UNWIND_POINTER_REG: c_int = 12;
+ pub const UNWIND_SP_REG: c_int = 13;
pub const UNWIND_IP_REG: c_int = 15;
#[cfg_attr(all(feature = "llvm-libunwind",
--
2.24.1

View File

@ -1,10 +0,0 @@
--- rustc-beta-src/src/test/run-make-fulldeps/foreign-exceptions/Makefile.orig 2019-12-07 18:36:56.000000000 -0800
+++ rustc-beta-src/src/test/run-make-fulldeps/foreign-exceptions/Makefile 2019-12-12 15:49:24.655515206 -0800
@@ -1,3 +1,7 @@
+# ignore-arm
+# ignore-armeb
+# https://github.com/rust-lang/rust/issues/67242
+
-include ../tools.mk
all: foo

View File

@ -0,0 +1,97 @@
From ed8e55fe8d732d8a87343441db3bfbb974f043df Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Wed, 8 Jan 2020 09:44:45 -0800
Subject: [PATCH 1/2] Remove obsolete llvm_tools flag
---
src/bootstrap/tool.rs | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
index 815498047fd5..f785a0989a36 100644
--- a/src/bootstrap/tool.rs
+++ b/src/bootstrap/tool.rs
@@ -293,7 +293,6 @@ fn rustbook_features() -> Vec<String> {
macro_rules! bootstrap_tool {
($(
$name:ident, $path:expr, $tool_name:expr
- $(,llvm_tools = $llvm:expr)*
$(,is_external_tool = $external:expr)*
$(,features = $features:expr)*
;
@@ -305,15 +304,6 @@ macro_rules! bootstrap_tool {
)+
}
- impl Tool {
- /// Whether this tool requires LLVM to run
- pub fn uses_llvm_tools(&self) -> bool {
- match self {
- $(Tool::$name => false $(|| $llvm)*,)+
- }
- }
- }
-
impl<'a> Builder<'a> {
pub fn tool_exe(&self, tool: Tool) -> PathBuf {
match tool {
@@ -381,7 +371,7 @@ bootstrap_tool!(
Tidy, "src/tools/tidy", "tidy";
Linkchecker, "src/tools/linkchecker", "linkchecker";
CargoTest, "src/tools/cargotest", "cargotest";
- Compiletest, "src/tools/compiletest", "compiletest", llvm_tools = true;
+ Compiletest, "src/tools/compiletest", "compiletest";
BuildManifest, "src/tools/build-manifest", "build-manifest";
RemoteTestClient, "src/tools/remote-test-client", "remote-test-client";
RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true;
--
2.24.1
From cc4688d66d75e149a0136f701045cbf7ee672725 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Wed, 8 Jan 2020 10:04:18 -0800
Subject: [PATCH 2/2] Build compiletest with in-tree libtest
---
src/bootstrap/tool.rs | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
index f785a0989a36..73a4dda74e88 100644
--- a/src/bootstrap/tool.rs
+++ b/src/bootstrap/tool.rs
@@ -294,6 +294,7 @@ macro_rules! bootstrap_tool {
($(
$name:ident, $path:expr, $tool_name:expr
$(,is_external_tool = $external:expr)*
+ $(,is_unstable_tool = $unstable:expr)*
$(,features = $features:expr)*
;
)+) => {
@@ -344,7 +345,12 @@ macro_rules! bootstrap_tool {
compiler: self.compiler,
target: self.target,
tool: $tool_name,
- mode: Mode::ToolBootstrap,
+ mode: if false $(|| $unstable)* {
+ // use in-tree libraries for unstable features
+ Mode::ToolStd
+ } else {
+ Mode::ToolBootstrap
+ },
path: $path,
is_optional_tool: false,
source_type: if false $(|| $external)* {
@@ -371,7 +377,7 @@ bootstrap_tool!(
Tidy, "src/tools/tidy", "tidy";
Linkchecker, "src/tools/linkchecker", "linkchecker";
CargoTest, "src/tools/cargotest", "cargotest";
- Compiletest, "src/tools/compiletest", "compiletest";
+ Compiletest, "src/tools/compiletest", "compiletest", is_unstable_tool = true;
BuildManifest, "src/tools/build-manifest", "build-manifest";
RemoteTestClient, "src/tools/remote-test-client", "remote-test-client";
RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true;
--
2.24.1

View File

@ -49,7 +49,7 @@
Name: rust
Version: 1.40.0
Release: 0.1.beta.5%{?dist}
Release: 3%{?dist}
Summary: The Rust Programming Language
License: (ASL 2.0 or MIT) and (BSD and MIT)
# ^ written as: (rust itself) and (bundled libraries)
@ -71,9 +71,15 @@ Patch1: rust-pr57840-llvm7-debuginfo-variants.patch
# https://github.com/rust-lang/rust/pull/66317
Patch2: rust-pr66317-bindir-relative.patch
# ARM loops when C++ tries to catch and rethrow a Rust exception
# https://github.com/rust-lang/rust/issues/67242
Patch3: rust-issue-67242-ignore-arm-foreign-exceptions.patch
# Fix compiletest with newer (local-rebuild) libtest
# https://github.com/rust-lang/rust/pull/66156/commits/f6832adadb84364ce0c81fa02910b3706f441abc
Patch3: 0001-Compiletest-bump-to-stage0-bootstrap-libtest.patch
# https://github.com/rust-lang/rust/pull/68019
Patch4: rust-pr68019-in-tree-compiletest.patch
# Fix ARM unwinding for foreign-exceptions
# https://github.com/rust-lang/rust/pull/67779
Patch5: 0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch
# Get the Rust triple for any arch.
%{lua: function rust_triple(arch)
@ -407,6 +413,8 @@ test -f '%{local_rust_root}/bin/rustc'
%patch1 -p1 -R
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%if "%{python}" == "python3"
sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure
@ -713,6 +721,16 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py*
%changelog
* Thu Jan 16 2020 Josh Stone <jistone@redhat.com> - 1.40.0-3
- Build compiletest with in-tree libtest
* Tue Jan 07 2020 Josh Stone <jistone@redhat.com> - 1.40.0-2
- Fix compiletest with newer (local-rebuild) libtest
- Fix ARM EHABI unwinding
* Thu Dec 19 2019 Josh Stone <jistone@redhat.com> - 1.40.0-1
- Update to 1.40.0.
* Tue Nov 12 2019 Josh Stone <jistone@redhat.com> - 1.39.0-2
- Fix a couple build and test issues with rustdoc.

View File

@ -1 +1 @@
SHA512 (rustc-1.39.0-src.tar.xz) = 8610b2ec77722087c572bd84ac562a5b7c5f1a644aea58c5d5daa07a9aed242703b7816e73e2eaa049f773d5907859e259744a0de700622df005584fd798dab0
SHA512 (rustc-1.40.0-src.tar.xz) = b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f

View File

@ -1,8 +1,8 @@
SHA512 (rustc-1.39.0-src.tar.xz) = 8610b2ec77722087c572bd84ac562a5b7c5f1a644aea58c5d5daa07a9aed242703b7816e73e2eaa049f773d5907859e259744a0de700622df005584fd798dab0
SHA512 (rust-1.38.0-aarch64-unknown-linux-gnu.tar.xz) = c9dea8907d05af938c1936139c1fb8673d0db90503552f53645d71637bb7248263fd20b1c16db140694b2d467a12c474015a2077d9b26c782b44e965a01544c6
SHA512 (rust-1.38.0-armv7-unknown-linux-gnueabihf.tar.xz) = ddbb2c8d2e7112c5871155890c8308080ac800795c685c4b4d06b9dd8c5abd28ee13961686c9be465d1bbd33d476c6478b90af8de0ca5a451f8b07eaff42f97d
SHA512 (rust-1.38.0-i686-unknown-linux-gnu.tar.xz) = ffdea264378510c6df687a173211427f4cb5930553c9d14e33c5776b0e15d435d1be719bba8a1db50f50a3171a38802e090451dc92a6ea764cc8fdca24651f24
SHA512 (rust-1.38.0-powerpc64le-unknown-linux-gnu.tar.xz) = 5f3e1dd233ef17d8a296dcb55738fa119e40c32b154a7575f149bf1475b64e34f7e805f206b9862dc6499be470f179290d8abb7ad8d2b5cb355cef03d95ae374
SHA512 (rust-1.38.0-powerpc64-unknown-linux-gnu.tar.xz) = 26240976834e510fa5a47c35b747b42db4651ea8decdb5498704432c9a21563e603046994fcc2b070d06361bf2c36fe02a15c7f02d88161b299a410f1995983a
SHA512 (rust-1.38.0-s390x-unknown-linux-gnu.tar.xz) = 7af64849236e0173d2aea723f3462682fde7d2e1e04d61c28d215163415e1b15cfb8cac57010ce55bdd928ea74076506ef50376d7550999e0fb00f9d20c4f5ff
SHA512 (rust-1.38.0-x86_64-unknown-linux-gnu.tar.xz) = 0b25c3049a7a213e9151c898979ec9b5b45e46a9072f9853d8f048cf401ef7ac343526d6919e68607a490e3e7bd0375b12ed9fb253caed26bb60f46473d3699b
SHA512 (rustc-1.40.0-src.tar.xz) = b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f
SHA512 (rust-1.39.0-aarch64-unknown-linux-gnu.tar.xz) = ad37a8454acb8985a5c2b42d7f8bc4212651a16fb5af6b4314dd97faa47de79893f2f74b516af89cd7e77ef3db64247c4764585eb0a17ac328c9cba5e5b9c407
SHA512 (rust-1.39.0-armv7-unknown-linux-gnueabihf.tar.xz) = db2b001a5587e2d5c8cdcb53c974f2332e76f58e362cba55fc971d7244754f1fa0b7e708ad7e73e7250652b442f06929dc1e8981536d7d76850b45ade275d406
SHA512 (rust-1.39.0-i686-unknown-linux-gnu.tar.xz) = 930546e79c0b1105eb0604ae33ccdbd8b00b56e56d069f19f0d802093a052fd3f940eaf1390cdecd79833b0c70457ebfee2ce3b9674fff72df1367076584394a
SHA512 (rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz) = e15585150370514e580e171faa749218aeef04ce0493f5ad3928a0cb6cd0bddbf7c75ba8ed0783a2c954bbd7166e0445b4c33be4ab48479b0104f032b3d4b0af
SHA512 (rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz) = ff99ad6b120631346af8afac092f8b620e50fb8e118ef1e0ff5668103c01f4b9f082fae72e31a767be35d0647fd9fecc7e6b7b215bb1906e06b20bf3e2685619
SHA512 (rust-1.39.0-s390x-unknown-linux-gnu.tar.xz) = d2b588f802d4fbe153dbd88cb745d34d1f5434cb3134cc9e091ebfb336a48b4c886cd80311cf92b5e1c6a16374302853a67e8a0576b02a89dbcf61d27919a045
SHA512 (rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz) = 02ca6c821877379d8bd0bcc38281a87e6f86bdbae1270da19e41336cc3a812d9c11c1e976655c192c39153f92cda90ddbd7b4b0bcb4f6787d6d354d2be827a8a