diff --git a/.gitignore b/.gitignore index 2bb1e3e..8da0437 100644 --- a/.gitignore +++ b/.gitignore @@ -186,3 +186,13 @@ /rust-1.32.0-powerpc64-unknown-linux-gnu.tar.xz /rust-1.32.0-s390x-unknown-linux-gnu.tar.xz /rust-1.32.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.34.0-src.tar.xz +/rust-1.33.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.33.0-i686-unknown-linux-gnu.tar.xz +/rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.33.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.34.1-src.tar.xz +/rustc-1.34.2-src.tar.xz diff --git a/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch b/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch new file mode 100644 index 0000000..3c09947 --- /dev/null +++ b/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch @@ -0,0 +1,29 @@ +From b4131e297e18fde119f6f461b3e622218166b009 Mon Sep 17 00:00:00 2001 +From: Josh Stone +Date: Fri, 26 Apr 2019 08:58:14 -0700 +Subject: [PATCH] Limit internalization in LLVM 8 ThinLTO + +--- + src/rustllvm/PassWrapper.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp +index 319c66a21f17..0ebef82d3768 100644 +--- a/src/rustllvm/PassWrapper.cpp ++++ b/src/rustllvm/PassWrapper.cpp +@@ -873,8 +873,11 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules, + return PrevailingType::Unknown; + }; + #if LLVM_VERSION_GE(8, 0) ++ // We don't have a complete picture in our use of ThinLTO, just our immediate ++ // crate, so we need `ImportEnabled = false` to limit internalization. ++ // Otherwise, we sometimes lose `static` values -- see #60184. + computeDeadSymbolsWithConstProp(Ret->Index, Ret->GUIDPreservedSymbols, +- deadIsPrevailing, /* ImportEnabled = */ true); ++ deadIsPrevailing, /* ImportEnabled = */ false); + #else + computeDeadSymbols(Ret->Index, Ret->GUIDPreservedSymbols, deadIsPrevailing); + #endif +-- +2.20.1 + diff --git a/rust.spec b/rust.spec index bbb3588..89d60aa 100644 --- a/rust.spec +++ b/rust.spec @@ -53,8 +53,8 @@ %endif Name: rust -Version: 1.34.0 -Release: 0.1.beta.6%{?dist} +Version: 1.34.2 +Release: 1 Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) # ^ written as: (rust itself) and (bundled libraries) @@ -72,6 +72,9 @@ Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz # We do have the necessary fix in our LLVM 7. Patch1: rust-pr57840-llvm7-debuginfo-variants.patch +# https://github.com/rust-lang/rust/pull/60313 +Patch2: 0001-Limit-internalization-in-LLVM-8-ThinLTO.patch + # Get the Rust triple for any arch. %{lua: function rust_triple(arch) local abi = "gnu" @@ -396,6 +399,7 @@ test -f '%{local_rust_root}/bin/rustc' %setup -q -n %{rustc_package} %patch1 -p1 -R +%patch2 -p1 %if "%{python}" == "python3" sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure @@ -477,6 +481,7 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1 --enable-extended \ --enable-vendor \ --enable-verbose-tests \ + --set rust.codegen-units-std=1 \ --release-channel=%{channel} %{python} ./x.py build @@ -671,8 +676,21 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog -* Fri Mar 29 2019 Josh Stone - 1.34.0-0.1.beta.6 -- beta test +* Tue May 14 2019 Josh Stone - 1.34.2-1 +- Update to 1.34.2 -- fixes CVE-2019-12083. + +* Tue Apr 30 2019 Josh Stone - 1.34.1-3 +- Set rust.codegen-units-std=1 + +* Fri Apr 26 2019 Josh Stone - 1.34.1-2 +- Remove the ThinLTO workaround. + +* Thu Apr 25 2019 Josh Stone - 1.34.1-1 +- Update to 1.34.1. +- Add a ThinLTO fix for rhbz1701339. + +* Thu Apr 11 2019 Josh Stone - 1.34.0-1 +- Update to 1.34.0. * Fri Mar 01 2019 Josh Stone - 1.33.0-2 - Fix deprecations for self-rebuild diff --git a/sources b/sources index 2eff6dd..725401e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rustc-1.33.0-src.tar.xz) = 3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147 +SHA512 (rustc-1.34.2-src.tar.xz) = f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381 diff --git a/sources-bootstrap b/sources-bootstrap index 6d14e05..9ab6ad3 100644 --- a/sources-bootstrap +++ b/sources-bootstrap @@ -1,8 +1,8 @@ -SHA512 (rustc-1.33.0-src.tar.xz) = 3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147 -SHA512 (rust-1.32.0-aarch64-unknown-linux-gnu.tar.xz) = b077c54bf38935a55a36fec39d1822562da760489ca924d48978e87b9ac5dc4b5107a7eb08dea0412a5a44c255428c649e31f07a5a67567c715de8644581018d -SHA512 (rust-1.32.0-armv7-unknown-linux-gnueabihf.tar.xz) = abadddae0a8de3ee326d1145e3bbe571d9ec0d80261569b6350dbc0fa38b9d31590933c318785f92b75c7add35d7b45e7713a3f1ef7dfd3de085b7255a855b2a -SHA512 (rust-1.32.0-i686-unknown-linux-gnu.tar.xz) = bec62be3e9f5e37197c10357a386a7083941f44151eab28e7a1c8892c0e8e65d168e1220d5e807bb55b9c86ef046bad5cb23fad89def9cb51d22ff69fb436172 -SHA512 (rust-1.32.0-powerpc64le-unknown-linux-gnu.tar.xz) = 058c1ebe58bb22e8ff791a74edb058e7494e2673dd1d91ffad646ec71cfdc240e934b44fbae6e58639143b33161d314224e7d1c7b2cc35677bf9eab901e130eb -SHA512 (rust-1.32.0-powerpc64-unknown-linux-gnu.tar.xz) = e4c70ab500feccb2ed67435857f584381be051ba7b2d70cea55b0c94b846e61ba10930a20ceceb67ec981daa5baa166fc6dea7c14ac9ac28270c30841d9c16a1 -SHA512 (rust-1.32.0-s390x-unknown-linux-gnu.tar.xz) = 4f32934472356d9b7e15abb0fa07be9eddccc7b9e0a1834bbee5ff279c6ece9174d942e2feed611f9b697613ee3b76f8a8ab68559b6d075e740aeab117223325 -SHA512 (rust-1.32.0-x86_64-unknown-linux-gnu.tar.xz) = 5c5def0c415b0f34e1e7476841a0bd3f91fe4bde8321c7b06b1cd2a3d10a3d676ed16a26561929ce39c3c2cbcf7a16960c5decca9e385afe8295da32b4fb7a17 +SHA512 (rustc-1.34.2-src.tar.xz) = f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381 +SHA512 (rust-1.33.0-aarch64-unknown-linux-gnu.tar.xz) = 51f6ca909411fd3b3c05baedc38be8a29923966e7cd6960a10152886687132d4ef9750140c5121b9486d6f6ee1ed7ff35f8105c9f0731fe98ce750d0ea9c528f +SHA512 (rust-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz) = 25a16c576d826115fdac5a55b89bf3372dfb39c563f2ce7d39b0a7a3c9bdc43eaf10974dfa42e26c5aa04aee169ced3e797fa46fa82bd9f4ceddeddaf6687659 +SHA512 (rust-1.33.0-i686-unknown-linux-gnu.tar.xz) = f61f97c529232fd6d7587bbf34c41dd9cc334272b1d523464d7b964aba5a102edaff8d387445e3fdb2b9587c1cdd870e97b9572c9421e79ee047479443f1896d +SHA512 (rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz) = 393c808e93792cf2b126d6111834932a55cbf18339942ac0d20fc4a3692b0ac08c21a3c8fd393795f7aafecac5a2c5d7c9415c18017a7453f759f746045f5144 +SHA512 (rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz) = 7d53501d20119ba8d9723650800cdbde17e4ed1719f6258c48c25113082e0400d9ac74ca1bfca54722dbb2049f7b5d34177bb613031c1611daa2545e1706c745 +SHA512 (rust-1.33.0-s390x-unknown-linux-gnu.tar.xz) = 755a0203e2c143386cb3729faada4d2c38b254dfa7e6eeb722ec9847d6319a1d3d289c7b77a2bc478d79dbbabfcd826d8b015acd29fbdf5acb591feae1876205 +SHA512 (rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz) = b7f3087f34e99517cd729f5ff1f8cce3f3254cb36c734d5b90d878293e4406934c2f597bf7e2941e9257046f62c9274eb4769a64dabfbc5f0bbf2a1703f7fef8