summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVyacheslav Razykov2021-04-09 00:13:47 +0300
committerVyacheslav Razykov2021-04-09 00:13:47 +0300
commit6b7944586d0c3407deeb4a36fe7654e0313a002b (patch)
tree30b113fdcfa0d23fbaadd6eede020abb65df4bf8
parent5bfb0eb46a962e84d122a24bed4fba33ea7826b0 (diff)
downloadaur-6b7944586d0c3407deeb4a36fe7654e0313a002b.tar.gz
Update to 10.3.0-1
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD22
-rw-r--r--all_default-ssp-fix.patch (renamed from fs64270.patch)14
-rw-r--r--ipa-fix-ICE-in-get_default_value.patch80
-rw-r--r--ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch147
5 files changed, 20 insertions, 261 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bbc0b6479991..0112a334442a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = arm-linux-gnueabihf-gcc-stage1
pkgdesc = The GNU Compiler Collection. Stage 1 for toolchain building (arm-linux-gnueabihf)
- pkgver = 10.2.0
- pkgrel = 3
+ pkgver = 10.3.0
+ pkgrel = 1
url = https://gcc.gnu.org
arch = i686
arch = x86_64
@@ -15,22 +15,18 @@ pkgbase = arm-linux-gnueabihf-gcc-stage1
options = !emptydirs
options = !distcc
options = !strip
- source = https://sourceware.org/pub/gcc/releases/gcc-10.2.0/gcc-10.2.0.tar.xz
- source = https://sourceware.org/pub/gcc/releases/gcc-10.2.0/gcc-10.2.0.tar.xz.sig
+ source = https://sourceware.org/pub/gcc/releases/gcc-10.3.0/gcc-10.3.0.tar.xz
+ source = https://sourceware.org/pub/gcc/releases/gcc-10.3.0/gcc-10.3.0.tar.xz.sig
source = http://isl.gforge.inria.fr/isl-0.21.tar.xz
- source = fs64270.patch
- source = ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch
- source = ipa-fix-ICE-in-get_default_value.patch
+ source = all_default-ssp-fix.patch
validpgpkeys = F3691687D867B81B51CE07D9BBE43771487328A9
validpgpkeys = 86CFFCA918CF3AF47147588051E8B148A9999C34
validpgpkeys = 13975A70E63C361C73AE69EF6EEB81F8981C74C7
validpgpkeys = 33C235A34C46AA3FFB293709A328C3A2C3C45C06
- sha256sums = b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c
+ sha256sums = 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
sha256sums = SKIP
sha256sums = 777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960
- sha256sums = 1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee
- sha256sums = fcb11c9bcea320afd202b031b48f8750aeaedaa4b0c5dddcd2c0a16381e927e4
- sha256sums = 42865f2af3f48140580c4ae70b6ea03b5bdca0f29654773ef0d42ce00d60ea16
+ sha256sums = 5481035e3a714c6ad7bbf06b342c8b278a474b131d88e3cdc00a6221fe4d12ac
pkgname = arm-linux-gnueabihf-gcc-stage1
diff --git a/PKGBUILD b/PKGBUILD
index e01e34168434..16e5574e34c9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,10 +7,10 @@
_target="arm-linux-gnueabihf"
pkgname=${_target}-gcc-stage1
-pkgver=10.2.0
+pkgver=10.3.0
_majorver=${pkgver%%.*}
_islver=0.21
-pkgrel=3
+pkgrel=1
pkgdesc="The GNU Compiler Collection. Stage 1 for toolchain building (${_target})"
arch=(i686 x86_64)
license=(GPL LGPL FDL custom)
@@ -19,19 +19,15 @@ depends=("${_target}-binutils>=2.36.1-1" libmpc zlib)
options=(!emptydirs !distcc !strip)
source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig}
http://isl.gforge.inria.fr/isl-${_islver}.tar.xz
- fs64270.patch
- ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch
- ipa-fix-ICE-in-get_default_value.patch)
+ all_default-ssp-fix.patch)
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com
13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
-sha256sums=('b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c'
+sha256sums=('64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344'
'SKIP'
'777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960'
- '1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee'
- 'fcb11c9bcea320afd202b031b48f8750aeaedaa4b0c5dddcd2c0a16381e927e4'
- '42865f2af3f48140580c4ae70b6ea03b5bdca0f29654773ef0d42ce00d60ea16')
+ '5481035e3a714c6ad7bbf06b342c8b278a474b131d88e3cdc00a6221fe4d12ac')
prepare() {
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
@@ -48,13 +44,7 @@ prepare() {
# Turn off SSP for nostdlib|nodefaultlibs|ffreestanding
# https://bugs.archlinux.org/task/64270
- patch -p1 -i "$srcdir/fs64270.patch"
-
- # Fix a crash in mpv when mesa 20.2 is compiled with LTO
- # https://gitlab.freedesktop.org/mesa/mesa/-/issues/3239
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96482
- patch -Np1 -i ../ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch
- patch -Np1 -i ../ipa-fix-ICE-in-get_default_value.patch
+ patch -p1 -i "$srcdir/all_default-ssp-fix.patch"
mkdir -p "$srcdir/gcc-build"
}
diff --git a/fs64270.patch b/all_default-ssp-fix.patch
index 7b9e142c6be8..832a6a586ec8 100644
--- a/fs64270.patch
+++ b/all_default-ssp-fix.patch
@@ -1,9 +1,9 @@
-Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
+Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
---- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200
-+++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100
-@@ -857,6 +857,12 @@ proper position among the other output f
- #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G"
+--- a/gcc/gcc.c 2021-04-08 22:48:03.395002871 +0300
++++ b/gcc/gcc.c 2021-04-08 22:52:27.701661788 +0300
+@@ -874,6 +874,12 @@
+ #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
#endif
+#ifdef ENABLE_DEFAULT_SSP
@@ -15,7 +15,7 @@ Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-@@ -1131,7 +1148,7 @@ static const char *cc1_options =
+@@ -1155,7 +1161,7 @@
%{-version:--version}\
%{-help=*:--help=%*}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
@@ -23,4 +23,4 @@ Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fprofile-generate*|coverage:\
- %{!fprofile-update=singel:\
+ %{!fprofile-update=single:\
diff --git a/ipa-fix-ICE-in-get_default_value.patch b/ipa-fix-ICE-in-get_default_value.patch
deleted file mode 100644
index 572299462ff4..000000000000
--- a/ipa-fix-ICE-in-get_default_value.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From f91770216eade83f068528c1e4f00e2ac3b23044 Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Thu, 13 Aug 2020 09:38:41 +0200
-Subject: [PATCH] ipa: fix ICE in get_default_value
-
-The patch aligns code with ipcp_bits_lattice::set_to_constant
-where we properly mask m_value with m_mask. The same should
-be done here.
-
-gcc/ChangeLog:
-
- PR ipa/96482
- * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Mask m_value
- with m_mask.
-
-gcc/testsuite/ChangeLog:
-
- PR ipa/96482
- * gcc.dg/ipa/pr96482-2.c: New test.
----
- gcc/ipa-cp.c | 2 +-
- gcc/testsuite/gcc.dg/ipa/pr96482-2.c | 33 ++++++++++++++++++++++++++++
- 2 files changed, 34 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.dg/ipa/pr96482-2.c
-
-diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
-index 2b21280d919..e4910a04ffa 100644
---- a/gcc/ipa-cp.c
-+++ b/gcc/ipa-cp.c
-@@ -1048,7 +1048,7 @@ ipcp_bits_lattice::meet_with_1 (widest_int value, widest_int mask,
-
- widest_int old_mask = m_mask;
- m_mask = (m_mask | mask) | (m_value ^ value);
-- m_value &= value;
-+ m_value &= ~m_mask;
-
- if (wi::sext (m_mask, precision) == -1)
- return set_to_bottom ();
-diff --git a/gcc/testsuite/gcc.dg/ipa/pr96482-2.c b/gcc/testsuite/gcc.dg/ipa/pr96482-2.c
-new file mode 100644
-index 00000000000..54b71ac4fc0
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/ipa/pr96482-2.c
-@@ -0,0 +1,33 @@
-+/* PR ipa/96482 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+int i2c_transfer();
-+void _dev_err();
-+
-+struct i2c_msg {
-+ char bufaddr;
-+ int adapterdev;
-+} wdt87xx_i2c_xfer_client;
-+
-+int wdt87xx_i2c_xfer_client_0, wdt87xx_i2c_xfer_rxdata, wdt87xx_get_string_str_idx;
-+
-+void
-+static wdt87xx_i2c_xfer(void *txdata, unsigned rxlen) {
-+ struct i2c_msg msgs[] = {wdt87xx_i2c_xfer_client_0, rxlen,
-+ wdt87xx_i2c_xfer_rxdata};
-+ int error = i2c_transfer(wdt87xx_i2c_xfer_client, msgs);
-+ _dev_err("", __func__, error);
-+}
-+static void wdt87xx_get_string(unsigned len) {
-+ char tx_buf[] = {wdt87xx_get_string_str_idx, 3};
-+ int rx_len = len + 2;
-+ wdt87xx_i2c_xfer(tx_buf, rx_len);
-+}
-+
-+void
-+wdt87xx_ts_probe_tx_buf() {
-+ wdt87xx_get_string(34);
-+ wdt87xx_get_string(8);
-+ wdt87xx_i2c_xfer(wdt87xx_ts_probe_tx_buf, 2);
-+}
---
-2.28.0
-
diff --git a/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch b/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch
deleted file mode 100644
index cd812623cec3..000000000000
--- a/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From d58f078ce2d53e5dab6b3d0d5f960504268e1894 Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Wed, 12 Aug 2020 09:21:51 +0200
-Subject: [PATCH] ipa: fix bit CPP when combined with IPA bit CP
-
-As mentioned in the PR, let's consider the following example:
-
-int
-__attribute__((noinline))
-foo(int arg)
-{
- if (arg == 3)
- return 1;
- if (arg == 4)
- return 123;
-
- __builtin_unreachable ();
-}
-
-during WPA we find all calls of the function
-(yes the call with value 5 is UBSAN):
-
- Node: foo/0:
- param [0]: 5 [loc_time: 4, loc_size: 2, prop_time: 0, prop_size: 0]
- 3 [loc_time: 3, loc_size: 3, prop_time: 0, prop_size: 0]
- ctxs: VARIABLE
- Bits: value = 0x5, mask = 0x6
-
-in LTRANS we have the following VRP info:
-
- # RANGE [3, 3] NONZERO 3
-
-when we AND masks in get_default_value we end up with 6 & 3 = 2 (0x010).
-That means the only second (least significant bit) is unknown and
-value (5 = 0x101) & ~mask gives us either 7 (0x111) or 5 (0x101).
-
-That's why if (arg_2(D) == 3) gets optimized to false.
-
-gcc/ChangeLog:
-
- PR ipa/96482
- * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Drop value bits
- for bits that are unknown.
- (ipcp_bits_lattice::set_to_constant): Likewise.
- * tree-ssa-ccp.c (get_default_value): Add sanity check that
- IPA CP bit info has all bits set to zero in bits that
- are unknown.
-
-gcc/testsuite/ChangeLog:
-
- PR ipa/96482
- * gcc.dg/ipa/pr96482.c: New test.
----
- gcc/ipa-cp.c | 3 +-
- gcc/testsuite/gcc.dg/ipa/pr96482.c | 44 ++++++++++++++++++++++++++++++
- gcc/tree-ssa-ccp.c | 3 ++
- 3 files changed, 49 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.dg/ipa/pr96482.c
-
-diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
-index 945a69977f3..2b21280d919 100644
---- a/gcc/ipa-cp.c
-+++ b/gcc/ipa-cp.c
-@@ -1011,7 +1011,7 @@ ipcp_bits_lattice::set_to_constant (widest_int value, widest_int mask)
- {
- gcc_assert (top_p ());
- m_lattice_val = IPA_BITS_CONSTANT;
-- m_value = value;
-+ m_value = wi::bit_and (wi::bit_not (mask), value);
- m_mask = mask;
- return true;
- }
-@@ -1048,6 +1048,7 @@ ipcp_bits_lattice::meet_with_1 (widest_int value, widest_int mask,
-
- widest_int old_mask = m_mask;
- m_mask = (m_mask | mask) | (m_value ^ value);
-+ m_value &= value;
-
- if (wi::sext (m_mask, precision) == -1)
- return set_to_bottom ();
-diff --git a/gcc/testsuite/gcc.dg/ipa/pr96482.c b/gcc/testsuite/gcc.dg/ipa/pr96482.c
-new file mode 100644
-index 00000000000..68ead798d28
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/ipa/pr96482.c
-@@ -0,0 +1,44 @@
-+/* PR ipa/96482 */
-+/* { dg-do run } */
-+/* { dg-options "-O2 -flto" } */
-+/* { dg-require-effective-target lto } */
-+
-+int
-+__attribute__((noinline))
-+foo(int arg)
-+{
-+ if (arg == 3)
-+ return 1;
-+ if (arg == 4)
-+ return 123;
-+
-+ __builtin_unreachable ();
-+}
-+
-+int
-+__attribute__((noinline))
-+baz(int x)
-+{
-+ if (x != 0)
-+ return foo(3); /* called */
-+
-+ return 1;
-+}
-+
-+int
-+__attribute__((noinline))
-+bar(int x)
-+{
-+ if (x == 0)
-+ return foo(5); /* not executed */
-+
-+ return 1;
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ if (bar(argc) != baz(argc))
-+ __builtin_abort ();
-+
-+ return 0;
-+}
-diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
-index 7e3921869b8..65dffe06530 100644
---- a/gcc/tree-ssa-ccp.c
-+++ b/gcc/tree-ssa-ccp.c
-@@ -306,6 +306,9 @@ get_default_value (tree var)
- {
- val.lattice_val = CONSTANT;
- val.value = value;
-+ widest_int ipa_value = wi::to_widest (value);
-+ /* Unknown bits from IPA CP must be equal to zero. */
-+ gcc_assert (wi::bit_and (ipa_value, mask) == 0);
- val.mask = mask;
- if (nonzero_bits != -1)
- val.mask &= extend_mask (nonzero_bits,
---
-2.28.0
-