From d794f84ff8fc9f67069b3b8d23850fd9e2e791a8 Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Fri, 30 Oct 2020 14:04:14 +0100 Subject: [PATCH] adjusted and reenabled x32 patch --- rust-x32.patch | 99 ++++++++++++++++++++++---------------------------- rust.spec | 2 +- 2 files changed, 45 insertions(+), 56 deletions(-) diff --git a/rust-x32.patch b/rust-x32.patch index 2ce58cd..ef50d32 100644 --- a/rust-x32.patch +++ b/rust-x32.patch @@ -1,6 +1,6 @@ ---- rustc-1.44.1-src/src/librustc_errors/lib.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_errors/lib.rs 2020-09-19 16:51:37.200375178 +0200 -@@ -42,7 +42,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_errors/lib.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_errors/lib.rs 2020-10-30 13:52:39.921952637 +0100 +@@ -45,7 +45,7 @@ // `PResult` is used a lot. Make sure it doesn't unintentionally get bigger. // (See also the comment on `DiagnosticBuilderInner`.) @@ -9,20 +9,20 @@ rustc_data_structures::static_assert_size!(PResult<'_, bool>, 16); /// Indicates the confidence in the correctness of a suggestion. ---- rustc-1.44.1-src/src/librustc_ast/ast.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_ast/ast.rs 2020-09-19 20:00:01.696079898 +0200 -@@ -1011,7 +1011,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_ast/ast.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_ast/ast.rs 2020-10-30 13:53:59.025035237 +0100 +@@ -1056,7 +1056,7 @@ } // `Expr` is used a lot. Make sure it doesn't unintentionally get bigger. -#[cfg(target_arch = "x86_64")] +#[cfg(all(target_arch = "x86_64", target_pointer_size = "64"))] - rustc_data_structures::static_assert_size!(Expr, 96); + rustc_data_structures::static_assert_size!(Expr, 104); impl Expr { ---- rustc-1.44.1-src/src/librustc_ast/token.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_ast/token.rs 2020-09-19 20:00:34.444494028 +0200 -@@ -757,7 +757,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_ast/token.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_ast/token.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -710,7 +710,7 @@ } // `Nonterminal` is used a lot. Make sure it doesn't unintentionally get bigger. @@ -30,10 +30,10 @@ +#[cfg(all(target_arch = "x86_64", target_pointer_size = "64"))] rustc_data_structures::static_assert_size!(Nonterminal, 40); - impl Nonterminal { ---- rustc-1.44.1-src/src/librustc_ast/tokenstream.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_ast/tokenstream.rs 2020-09-19 20:01:08.269632279 +0200 -@@ -147,7 +147,7 @@ + #[derive(Debug, Copy, Clone, PartialEq, Encodable, Decodable)] +--- rustc-1.47.0-src.orig/src/librustc_ast/tokenstream.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_ast/tokenstream.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -130,7 +130,7 @@ pub type TreeAndJoint = (TokenTree, IsJoint); // `TokenStream` is used a lot. Make sure it doesn't unintentionally get bigger. @@ -41,10 +41,10 @@ +#[cfg(all(target_arch = "x86_64", target_pointer_size = "64"))] rustc_data_structures::static_assert_size!(TokenStream, 8); - #[derive(Clone, Copy, Debug, PartialEq, RustcEncodable, RustcDecodable)] ---- rustc-1.44.1-src/src/librustc_middle/mir/mod.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_middle/mir/mod.rs 2020-09-19 21:14:39.635242732 +0200 -@@ -1557,7 +1557,7 @@ + #[derive(Clone, Copy, Debug, PartialEq, Encodable, Decodable)] +--- rustc-1.47.0-src.orig/src/librustc_middle/mir/mod.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_middle/mir/mod.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -1353,7 +1353,7 @@ } // `Statement` is used a lot. Make sure it doesn't unintentionally get bigger. @@ -53,8 +53,8 @@ static_assert_size!(Statement<'_>, 32); impl Statement<'_> { -@@ -1810,7 +1810,7 @@ - impl<'tcx> Copy for PlaceElem<'tcx> {} +@@ -1615,7 +1615,7 @@ + pub type PlaceElem<'tcx> = ProjectionElem>; // At least on 64 bit systems, `PlaceElem` should not be larger than two pointers. -#[cfg(target_arch = "x86_64")] @@ -62,9 +62,9 @@ static_assert_size!(PlaceElem<'_>, 16); /// Alias for projections as they appear in `UserTypeProjection`, where we ---- rustc-1.44.1-src/src/librustc_middle/mir/tcx.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_middle/mir/tcx.rs 2020-09-19 21:15:10.600202818 +0200 -@@ -18,7 +18,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_middle/mir/tcx.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_middle/mir/tcx.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -17,7 +17,7 @@ } // At least on 64 bit systems, `PlaceTy` should not be larger than two or three pointers. @@ -73,9 +73,9 @@ static_assert_size!(PlaceTy<'_>, 16); impl<'tcx> PlaceTy<'tcx> { ---- rustc-1.44.1-src/src/librustc_middle/traits/mod.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_middle/traits/mod.rs 2020-09-19 21:15:40.648448077 +0200 -@@ -276,7 +276,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_middle/traits/mod.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_middle/traits/mod.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -339,7 +339,7 @@ } // `ObligationCauseCode` is used a lot. Make sure it doesn't unintentionally get bigger. @@ -83,10 +83,10 @@ +#[cfg(all(target_arch = "x86_64", target_pointer_size = "64"))] static_assert_size!(ObligationCauseCode<'_>, 32); - #[derive(Clone, Debug, PartialEq, Eq, Hash)] ---- rustc-1.44.1-src/src/librustc_middle/ty/mod.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_middle/ty/mod.rs 2020-09-19 21:16:08.469909685 +0200 -@@ -614,7 +614,7 @@ + #[derive(Clone, Debug, PartialEq, Eq, Hash, Lift)] +--- rustc-1.47.0-src.orig/src/librustc_middle/ty/mod.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_middle/ty/mod.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -604,7 +604,7 @@ } // `TyS` is used a lot. Make sure it doesn't unintentionally get bigger. @@ -95,9 +95,9 @@ static_assert_size!(TyS<'_>, 32); impl<'tcx> Ord for TyS<'tcx> { ---- rustc-1.44.1-src/src/librustc_middle/ty/sty.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_middle/ty/sty.rs 2020-09-19 21:16:35.264650688 +0200 -@@ -212,7 +212,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_middle/ty/sty.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_middle/ty/sty.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -213,7 +213,7 @@ } // `TyKind` is used a lot. Make sure it doesn't unintentionally get bigger. @@ -106,31 +106,31 @@ static_assert_size!(TyKind<'_>, 24); /// A closure can be modeled as a struct that looks like: ---- rustc-1.44.1-src/src/librustc_infer/traits/mod.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_infer/traits/mod.rs 2020-09-19 22:11:38.115874035 +0200 -@@ -57,7 +57,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_infer/traits/mod.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_infer/traits/mod.rs 2020-10-30 13:53:29.548462138 +0100 +@@ -56,7 +56,7 @@ pub type TraitObligation<'tcx> = Obligation<'tcx, ty::PolyTraitPredicate<'tcx>>; // `PredicateObligation` is used a lot. Make sure it doesn't unintentionally get bigger. -#[cfg(target_arch = "x86_64")] +#[cfg(all(target_arch = "x86_64", target_pointer_size = "64"))] - static_assert_size!(PredicateObligation<'_>, 112); + static_assert_size!(PredicateObligation<'_>, 40); pub type Obligations<'tcx, O> = Vec>; ---- rustc-1.44.1-src/src/librustc_trait_selection/traits/fulfill.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_trait_selection/traits/fulfill.rs 2020-09-20 07:47:50.724260889 +0200 -@@ -80,7 +80,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_trait_selection/traits/fulfill.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_trait_selection/traits/fulfill.rs 2020-10-30 13:53:12.381849892 +0100 +@@ -85,7 +85,7 @@ } // `PendingPredicateObligation` is used a lot. Make sure it doesn't unintentionally get bigger. -#[cfg(target_arch = "x86_64")] +#[cfg(all(target_arch = "x86_64", target_pointer_size = "64"))] - static_assert_size!(PendingPredicateObligation<'_>, 136); + static_assert_size!(PendingPredicateObligation<'_>, 64); impl<'a, 'tcx> FulfillmentContext<'tcx> { ---- rustc-1.44.1-src/src/librustc_trait_selection/lib.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_trait_selection/lib.rs 2020-09-20 09:46:06.127051487 +0200 -@@ -22,7 +22,7 @@ +--- rustc-1.47.0-src.orig/src/librustc_trait_selection/lib.rs 2020-10-07 09:53:22.000000000 +0200 ++++ rustc-1.47.0-src/src/librustc_trait_selection/lib.rs 2020-10-30 13:52:39.925285960 +0100 +@@ -20,7 +20,7 @@ #[macro_use] extern crate rustc_macros; @@ -139,14 +139,3 @@ #[macro_use] extern crate rustc_data_structures; #[macro_use] ---- rustc-1.44.1-src/src/librustc_mir_build/hair/mod.rs.orig 2020-06-17 22:17:05.000000000 +0200 -+++ rustc-1.44.1-src/src/librustc_mir_build/hair/mod.rs 2020-09-20 11:22:53.936804032 +0200 -@@ -94,7 +94,7 @@ - } - - // `Expr` is used a lot. Make sure it doesn't unintentionally get bigger. --#[cfg(target_arch = "x86_64")] -+#[cfg(all(target_arch = "x86_64", target_pointer_size = "64"))] - rustc_data_structures::static_assert_size!(Expr<'_>, 168); - - /// The Hair trait implementor lowers their expressions (`&'tcx H::Expr`) diff --git a/rust.spec b/rust.spec index 093075d..b166412 100644 --- a/rust.spec +++ b/rust.spec @@ -277,7 +277,7 @@ Dopełnianie parametrów polecenia cargo w powłoce Zsh. %prep %setup -q -n %{rustc_package} # irrelevant when not building rustc for x32 -#patch0 -p1 +%patch0 -p1 %if %{with bootstrap} %ifarch %{x8664} x32 -- 2.43.0