cross/gcc-*: upgrade to 9.3.0 (!1109)
This commit is contained in:
parent
9f1fbc77eb
commit
0f8f0eef32
9 changed files with 33 additions and 285 deletions
|
@ -1,45 +0,0 @@
|
|||
2020-01-23 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/93402
|
||||
* postreload.c (reload_combine_recognize_pattern): Don't try to adjust
|
||||
USE insns.
|
||||
|
||||
* gcc.c-torture/execute/pr93402.c: New test.
|
||||
|
||||
--- a/gcc/postreload.c.jj 2020-01-12 11:54:36.000000000 +0100
|
||||
+++ b/gcc/postreload.c 2020-01-23 17:23:25.359929516 +0100
|
||||
@@ -1078,6 +1078,10 @@ reload_combine_recognize_pattern (rtx_in
|
||||
struct reg_use *use = reg_state[regno].reg_use + i;
|
||||
if (GET_MODE (*use->usep) != mode)
|
||||
return false;
|
||||
+ /* Don't try to adjust (use (REGX)). */
|
||||
+ if (GET_CODE (PATTERN (use->insn)) == USE
|
||||
+ && &XEXP (PATTERN (use->insn), 0) == use->usep)
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/* Look for (set (REGX) (CONST_INT))
|
||||
--- a/gcc/testsuite/gcc.c-torture/execute/pr93402.c.jj 2020-01-23 17:25:46.496803852 +0100
|
||||
+++ b/gcc/testsuite/gcc.c-torture/execute/pr93402.c 2020-01-23 17:25:05.221425501 +0100
|
||||
@@ -0,0 +1,21 @@
|
||||
+/* PR rtl-optimization/93402 */
|
||||
+
|
||||
+struct S { unsigned int a; unsigned long long b; };
|
||||
+
|
||||
+__attribute__((noipa)) struct S
|
||||
+foo (unsigned long long x)
|
||||
+{
|
||||
+ struct S ret;
|
||||
+ ret.a = 0;
|
||||
+ ret.b = x * 11111111111ULL + 111111111111ULL;
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ struct S a = foo (1);
|
||||
+ if (a.a != 0 || a.b != 122222222222ULL)
|
||||
+ __builtin_abort ();
|
||||
+ return 0;
|
||||
+}
|
|
@ -24,13 +24,13 @@ CBUILDROOT="/"
|
|||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
pkgname="gcc-aarch64"
|
||||
pkgver=9.2.0
|
||||
pkgver=9.3.0
|
||||
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
|
||||
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname="gcc-aarch64"
|
||||
pkgrel=6
|
||||
pkgrel=0
|
||||
pkgdesc="Stage2 cross-compiler for aarch64"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="x86_64"
|
||||
|
@ -58,7 +58,6 @@ _libitm=true
|
|||
if [ "$CHOST" != "$CTARGET" ]; then
|
||||
if [ "$BOOTSTRAP" = nolibc ]; then
|
||||
LANG_CXX=false
|
||||
LANG_D=false
|
||||
LANG_ADA=false
|
||||
_libgcc=false
|
||||
_builddir="$srcdir/build-cross-pass2"
|
||||
|
@ -68,6 +67,7 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
|||
LANG_OBJC=false
|
||||
LANG_GO=false
|
||||
LANG_FORTRAN=false
|
||||
LANG_D=false
|
||||
_libgomp=false
|
||||
_libatomic=false
|
||||
_libitm=false
|
||||
|
@ -104,6 +104,7 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
|||
LANG_OBJC=false
|
||||
LANG_GO=false
|
||||
LANG_FORTRAN=false
|
||||
LANG_D=false
|
||||
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build-cross-native"
|
||||
|
@ -116,6 +117,11 @@ fi
|
|||
# See libphobos/configure.tgt in GCC sources for supported targets
|
||||
[ "$CARCH" = ppc64le ] && LANG_D=false
|
||||
|
||||
# GDC requires libucontext on mips, which is not yet available
|
||||
case "$CTARGET_ARCH" in
|
||||
mips*) LANG_D=false ;;
|
||||
esac
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
[ "$CTARGET_LIBC" = musl ] && LANG_GO=false
|
||||
|
||||
|
@ -206,8 +212,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
|
|||
|
||||
gcc-pure64-mips.patch
|
||||
0016-invalid_tls_model.patch
|
||||
gcc10-pr91920.patch
|
||||
0017-pr93402.patch
|
||||
|
||||
400-dlang-phobos.patch
|
||||
401-dlang-32bits.patch
|
||||
|
@ -406,7 +410,7 @@ package() {
|
|||
# linker finds the libs from relocated sysroot
|
||||
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
|
||||
if [ -h "$so" ]; then
|
||||
local _real=$(basename "$(readlink \"$so\")")
|
||||
local _real=$(basename "$(readlink "$so")")
|
||||
rm -f "$so"
|
||||
echo "GROUP ($_real)" > "$so"
|
||||
fi
|
||||
|
@ -624,7 +628,7 @@ gnat() {
|
|||
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
|
||||
}
|
||||
|
||||
sha512sums="a12dff52af876aee0fd89a8d09cdc455f35ec46845e154023202392adc164848faf8ee881b59b681b696e27c69fd143a214014db4214db62f9891a1c8365c040 gcc-9.2.0.tar.xz
|
||||
sha512sums="4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de gcc-9.3.0.tar.xz
|
||||
e36e95b81489163abd6fe9d58f7867bdca43e61143afacbfb17f4698c0b16ec5fd0061d8fab7b2ae615540bebd721c2e2227f80401b4e7fc253da9da62e6b513 002_all_default-relro.patch
|
||||
f86466c62b8291fac46f9c250c7ad8fa5ab7b1cce2504442fd07ddc4543665b317ae28951f244e39aba29aeaf3fff252ec4f6a147aa16adb2b7aed747dd89188 003_all_default-fortify-source.patch
|
||||
5e4794d1caddb1050d8935ae5a53ba275b653ad2c9954df89a8c47ac694e6139011829f440eb7e5b24fd57ea25daf25ac83f317871841a78ffb74d167d6f8bf9 005_all_default-as-needed.patch
|
||||
|
@ -655,8 +659,6 @@ a1f7750bc7b8b7d916a5dee34fcc736bd4fb249c96538b547d495794e6cfd49356aa3974506a1507
|
|||
f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45b58ba8764ab1eb575d4eb6d6dfc550a87a183f8b94e76181 320-libffi-gnulinux.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
17e0faeef742d32d57a070d983480367dd28cd28d47a8966ce327afdff3a38ea76803a833c90aff7d3a93aa66dae76c9be47b2408500913b40571af25b85aca7 0016-invalid_tls_model.patch
|
||||
e9fef7677f9541848cd1df0bf3c330f06f1369bdf1d228238b7f1d03d8f2c4be07fd62be503b7bf72b6b1e2d4e404ddd957157b56b8050e3657820ade77491aa gcc10-pr91920.patch
|
||||
0e20a5717c20ddc1d9f00276453b0abb4868adff0496604ad7d5b766a1028181c09c2061c5648bcfd4cb29dca7048cc866d2f27c013d82c2440164f17eac685d 0017-pr93402.patch
|
||||
38772c5b0905455a44c43d6ef7e5f140530006e2bde9f5ffd6b569c7cf9633992515f666b486d7a78c30ab8da99b92b2775c90fde47821ae542ef1c49dc405df 400-dlang-phobos.patch
|
||||
84bdbdfcb972161765b81220ea2e80e83c32f3ab27596b77eb451d8cac4bd6312210df468581c2b0e1363f5e3b31654e369c47ae84c907f3b54a1786d7c17830 401-dlang-32bits.patch
|
||||
9d73f21eaa2458d28a144dd0e5478ed52763a4d8bbf62084b607db52bce1e2242f773c853fc34e6aae2d53c4124948139954627064e850e9dabaddaef5cb9d69 402-dlang-stat.patch
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
2019-09-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/91920
|
||||
* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
|
||||
variables as shared.
|
||||
|
||||
* c-c++-common/gomp/pr91920.c: New test.
|
||||
|
||||
--- a/gcc/gimplify.c.jj 2019-09-20 12:25:46.829408105 +0200
|
||||
+++ b/gcc/gimplify.c 2019-09-27 11:52:17.458446652 +0200
|
||||
@@ -7132,6 +7132,8 @@ omp_default_clause (struct gimplify_omp_
|
||||
kind = lang_hooks.decls.omp_predetermined_sharing (decl);
|
||||
if (kind != OMP_CLAUSE_DEFAULT_UNSPECIFIED)
|
||||
default_kind = kind;
|
||||
+ else if (VAR_P (decl) && TREE_STATIC (decl) && DECL_IN_CONSTANT_POOL (decl))
|
||||
+ default_kind = OMP_CLAUSE_DEFAULT_SHARED;
|
||||
|
||||
switch (default_kind)
|
||||
{
|
||||
--- a/gcc/testsuite/c-c++-common/gomp/pr91920.c.jj 2019-09-27 11:57:26.066813061 +0200
|
||||
+++ b/gcc/testsuite/c-c++-common/gomp/pr91920.c 2019-09-27 11:57:08.931070237 +0200
|
||||
@@ -0,0 +1,19 @@
|
||||
+/* PR middle-end/91920 */
|
||||
+
|
||||
+void bar (float *);
|
||||
+
|
||||
+void
|
||||
+foo (void)
|
||||
+{
|
||||
+ int i;
|
||||
+ float f[3] = { 0.0f, 0.0f, 0.0f };
|
||||
+#pragma omp parallel for default(none) reduction(+:f[:3])
|
||||
+ for (i = 0; i < 1000; i++)
|
||||
+ {
|
||||
+ int j;
|
||||
+ float k[3] = { 0.25f, 0.5f, 0.75f };
|
||||
+ for (j = 0; j < 3; j++)
|
||||
+ f[j] += k[j];
|
||||
+ }
|
||||
+ bar (f);
|
||||
+}
|
|
@ -1,45 +0,0 @@
|
|||
2020-01-23 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/93402
|
||||
* postreload.c (reload_combine_recognize_pattern): Don't try to adjust
|
||||
USE insns.
|
||||
|
||||
* gcc.c-torture/execute/pr93402.c: New test.
|
||||
|
||||
--- a/gcc/postreload.c.jj 2020-01-12 11:54:36.000000000 +0100
|
||||
+++ b/gcc/postreload.c 2020-01-23 17:23:25.359929516 +0100
|
||||
@@ -1078,6 +1078,10 @@ reload_combine_recognize_pattern (rtx_in
|
||||
struct reg_use *use = reg_state[regno].reg_use + i;
|
||||
if (GET_MODE (*use->usep) != mode)
|
||||
return false;
|
||||
+ /* Don't try to adjust (use (REGX)). */
|
||||
+ if (GET_CODE (PATTERN (use->insn)) == USE
|
||||
+ && &XEXP (PATTERN (use->insn), 0) == use->usep)
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/* Look for (set (REGX) (CONST_INT))
|
||||
--- a/gcc/testsuite/gcc.c-torture/execute/pr93402.c.jj 2020-01-23 17:25:46.496803852 +0100
|
||||
+++ b/gcc/testsuite/gcc.c-torture/execute/pr93402.c 2020-01-23 17:25:05.221425501 +0100
|
||||
@@ -0,0 +1,21 @@
|
||||
+/* PR rtl-optimization/93402 */
|
||||
+
|
||||
+struct S { unsigned int a; unsigned long long b; };
|
||||
+
|
||||
+__attribute__((noipa)) struct S
|
||||
+foo (unsigned long long x)
|
||||
+{
|
||||
+ struct S ret;
|
||||
+ ret.a = 0;
|
||||
+ ret.b = x * 11111111111ULL + 111111111111ULL;
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ struct S a = foo (1);
|
||||
+ if (a.a != 0 || a.b != 122222222222ULL)
|
||||
+ __builtin_abort ();
|
||||
+ return 0;
|
||||
+}
|
|
@ -24,13 +24,13 @@ CBUILDROOT="/"
|
|||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
pkgname="gcc-armhf"
|
||||
pkgver=9.2.0
|
||||
pkgver=9.3.0
|
||||
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
|
||||
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname="gcc-armhf"
|
||||
pkgrel=6
|
||||
pkgrel=0
|
||||
pkgdesc="Stage2 cross-compiler for armhf"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="x86_64"
|
||||
|
@ -58,7 +58,6 @@ _libitm=true
|
|||
if [ "$CHOST" != "$CTARGET" ]; then
|
||||
if [ "$BOOTSTRAP" = nolibc ]; then
|
||||
LANG_CXX=false
|
||||
LANG_D=false
|
||||
LANG_ADA=false
|
||||
_libgcc=false
|
||||
_builddir="$srcdir/build-cross-pass2"
|
||||
|
@ -68,6 +67,7 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
|||
LANG_OBJC=false
|
||||
LANG_GO=false
|
||||
LANG_FORTRAN=false
|
||||
LANG_D=false
|
||||
_libgomp=false
|
||||
_libatomic=false
|
||||
_libitm=false
|
||||
|
@ -104,6 +104,7 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
|||
LANG_OBJC=false
|
||||
LANG_GO=false
|
||||
LANG_FORTRAN=false
|
||||
LANG_D=false
|
||||
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build-cross-native"
|
||||
|
@ -116,6 +117,11 @@ fi
|
|||
# See libphobos/configure.tgt in GCC sources for supported targets
|
||||
[ "$CARCH" = ppc64le ] && LANG_D=false
|
||||
|
||||
# GDC requires libucontext on mips, which is not yet available
|
||||
case "$CTARGET_ARCH" in
|
||||
mips*) LANG_D=false ;;
|
||||
esac
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
[ "$CTARGET_LIBC" = musl ] && LANG_GO=false
|
||||
|
||||
|
@ -206,8 +212,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
|
|||
|
||||
gcc-pure64-mips.patch
|
||||
0016-invalid_tls_model.patch
|
||||
gcc10-pr91920.patch
|
||||
0017-pr93402.patch
|
||||
|
||||
400-dlang-phobos.patch
|
||||
401-dlang-32bits.patch
|
||||
|
@ -406,7 +410,7 @@ package() {
|
|||
# linker finds the libs from relocated sysroot
|
||||
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
|
||||
if [ -h "$so" ]; then
|
||||
local _real=$(basename "$(readlink \"$so\")")
|
||||
local _real=$(basename "$(readlink "$so")")
|
||||
rm -f "$so"
|
||||
echo "GROUP ($_real)" > "$so"
|
||||
fi
|
||||
|
@ -624,7 +628,7 @@ gnat() {
|
|||
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
|
||||
}
|
||||
|
||||
sha512sums="a12dff52af876aee0fd89a8d09cdc455f35ec46845e154023202392adc164848faf8ee881b59b681b696e27c69fd143a214014db4214db62f9891a1c8365c040 gcc-9.2.0.tar.xz
|
||||
sha512sums="4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de gcc-9.3.0.tar.xz
|
||||
e36e95b81489163abd6fe9d58f7867bdca43e61143afacbfb17f4698c0b16ec5fd0061d8fab7b2ae615540bebd721c2e2227f80401b4e7fc253da9da62e6b513 002_all_default-relro.patch
|
||||
f86466c62b8291fac46f9c250c7ad8fa5ab7b1cce2504442fd07ddc4543665b317ae28951f244e39aba29aeaf3fff252ec4f6a147aa16adb2b7aed747dd89188 003_all_default-fortify-source.patch
|
||||
5e4794d1caddb1050d8935ae5a53ba275b653ad2c9954df89a8c47ac694e6139011829f440eb7e5b24fd57ea25daf25ac83f317871841a78ffb74d167d6f8bf9 005_all_default-as-needed.patch
|
||||
|
@ -655,8 +659,6 @@ a1f7750bc7b8b7d916a5dee34fcc736bd4fb249c96538b547d495794e6cfd49356aa3974506a1507
|
|||
f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45b58ba8764ab1eb575d4eb6d6dfc550a87a183f8b94e76181 320-libffi-gnulinux.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
17e0faeef742d32d57a070d983480367dd28cd28d47a8966ce327afdff3a38ea76803a833c90aff7d3a93aa66dae76c9be47b2408500913b40571af25b85aca7 0016-invalid_tls_model.patch
|
||||
e9fef7677f9541848cd1df0bf3c330f06f1369bdf1d228238b7f1d03d8f2c4be07fd62be503b7bf72b6b1e2d4e404ddd957157b56b8050e3657820ade77491aa gcc10-pr91920.patch
|
||||
0e20a5717c20ddc1d9f00276453b0abb4868adff0496604ad7d5b766a1028181c09c2061c5648bcfd4cb29dca7048cc866d2f27c013d82c2440164f17eac685d 0017-pr93402.patch
|
||||
38772c5b0905455a44c43d6ef7e5f140530006e2bde9f5ffd6b569c7cf9633992515f666b486d7a78c30ab8da99b92b2775c90fde47821ae542ef1c49dc405df 400-dlang-phobos.patch
|
||||
84bdbdfcb972161765b81220ea2e80e83c32f3ab27596b77eb451d8cac4bd6312210df468581c2b0e1363f5e3b31654e369c47ae84c907f3b54a1786d7c17830 401-dlang-32bits.patch
|
||||
9d73f21eaa2458d28a144dd0e5478ed52763a4d8bbf62084b607db52bce1e2242f773c853fc34e6aae2d53c4124948139954627064e850e9dabaddaef5cb9d69 402-dlang-stat.patch
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
2019-09-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/91920
|
||||
* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
|
||||
variables as shared.
|
||||
|
||||
* c-c++-common/gomp/pr91920.c: New test.
|
||||
|
||||
--- a/gcc/gimplify.c.jj 2019-09-20 12:25:46.829408105 +0200
|
||||
+++ b/gcc/gimplify.c 2019-09-27 11:52:17.458446652 +0200
|
||||
@@ -7132,6 +7132,8 @@ omp_default_clause (struct gimplify_omp_
|
||||
kind = lang_hooks.decls.omp_predetermined_sharing (decl);
|
||||
if (kind != OMP_CLAUSE_DEFAULT_UNSPECIFIED)
|
||||
default_kind = kind;
|
||||
+ else if (VAR_P (decl) && TREE_STATIC (decl) && DECL_IN_CONSTANT_POOL (decl))
|
||||
+ default_kind = OMP_CLAUSE_DEFAULT_SHARED;
|
||||
|
||||
switch (default_kind)
|
||||
{
|
||||
--- a/gcc/testsuite/c-c++-common/gomp/pr91920.c.jj 2019-09-27 11:57:26.066813061 +0200
|
||||
+++ b/gcc/testsuite/c-c++-common/gomp/pr91920.c 2019-09-27 11:57:08.931070237 +0200
|
||||
@@ -0,0 +1,19 @@
|
||||
+/* PR middle-end/91920 */
|
||||
+
|
||||
+void bar (float *);
|
||||
+
|
||||
+void
|
||||
+foo (void)
|
||||
+{
|
||||
+ int i;
|
||||
+ float f[3] = { 0.0f, 0.0f, 0.0f };
|
||||
+#pragma omp parallel for default(none) reduction(+:f[:3])
|
||||
+ for (i = 0; i < 1000; i++)
|
||||
+ {
|
||||
+ int j;
|
||||
+ float k[3] = { 0.25f, 0.5f, 0.75f };
|
||||
+ for (j = 0; j < 3; j++)
|
||||
+ f[j] += k[j];
|
||||
+ }
|
||||
+ bar (f);
|
||||
+}
|
|
@ -1,45 +0,0 @@
|
|||
2020-01-23 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/93402
|
||||
* postreload.c (reload_combine_recognize_pattern): Don't try to adjust
|
||||
USE insns.
|
||||
|
||||
* gcc.c-torture/execute/pr93402.c: New test.
|
||||
|
||||
--- a/gcc/postreload.c.jj 2020-01-12 11:54:36.000000000 +0100
|
||||
+++ b/gcc/postreload.c 2020-01-23 17:23:25.359929516 +0100
|
||||
@@ -1078,6 +1078,10 @@ reload_combine_recognize_pattern (rtx_in
|
||||
struct reg_use *use = reg_state[regno].reg_use + i;
|
||||
if (GET_MODE (*use->usep) != mode)
|
||||
return false;
|
||||
+ /* Don't try to adjust (use (REGX)). */
|
||||
+ if (GET_CODE (PATTERN (use->insn)) == USE
|
||||
+ && &XEXP (PATTERN (use->insn), 0) == use->usep)
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/* Look for (set (REGX) (CONST_INT))
|
||||
--- a/gcc/testsuite/gcc.c-torture/execute/pr93402.c.jj 2020-01-23 17:25:46.496803852 +0100
|
||||
+++ b/gcc/testsuite/gcc.c-torture/execute/pr93402.c 2020-01-23 17:25:05.221425501 +0100
|
||||
@@ -0,0 +1,21 @@
|
||||
+/* PR rtl-optimization/93402 */
|
||||
+
|
||||
+struct S { unsigned int a; unsigned long long b; };
|
||||
+
|
||||
+__attribute__((noipa)) struct S
|
||||
+foo (unsigned long long x)
|
||||
+{
|
||||
+ struct S ret;
|
||||
+ ret.a = 0;
|
||||
+ ret.b = x * 11111111111ULL + 111111111111ULL;
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ struct S a = foo (1);
|
||||
+ if (a.a != 0 || a.b != 122222222222ULL)
|
||||
+ __builtin_abort ();
|
||||
+ return 0;
|
||||
+}
|
|
@ -24,13 +24,13 @@ CBUILDROOT="/"
|
|||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
pkgname="gcc-armv7"
|
||||
pkgver=9.2.0
|
||||
pkgver=9.3.0
|
||||
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
|
||||
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname="gcc-armv7"
|
||||
pkgrel=6
|
||||
pkgrel=0
|
||||
pkgdesc="Stage2 cross-compiler for armv7"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="x86_64"
|
||||
|
@ -58,7 +58,6 @@ _libitm=true
|
|||
if [ "$CHOST" != "$CTARGET" ]; then
|
||||
if [ "$BOOTSTRAP" = nolibc ]; then
|
||||
LANG_CXX=false
|
||||
LANG_D=false
|
||||
LANG_ADA=false
|
||||
_libgcc=false
|
||||
_builddir="$srcdir/build-cross-pass2"
|
||||
|
@ -68,6 +67,7 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
|||
LANG_OBJC=false
|
||||
LANG_GO=false
|
||||
LANG_FORTRAN=false
|
||||
LANG_D=false
|
||||
_libgomp=false
|
||||
_libatomic=false
|
||||
_libitm=false
|
||||
|
@ -104,6 +104,7 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
|||
LANG_OBJC=false
|
||||
LANG_GO=false
|
||||
LANG_FORTRAN=false
|
||||
LANG_D=false
|
||||
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build-cross-native"
|
||||
|
@ -116,6 +117,11 @@ fi
|
|||
# See libphobos/configure.tgt in GCC sources for supported targets
|
||||
[ "$CARCH" = ppc64le ] && LANG_D=false
|
||||
|
||||
# GDC requires libucontext on mips, which is not yet available
|
||||
case "$CTARGET_ARCH" in
|
||||
mips*) LANG_D=false ;;
|
||||
esac
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
[ "$CTARGET_LIBC" = musl ] && LANG_GO=false
|
||||
|
||||
|
@ -206,8 +212,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
|
|||
|
||||
gcc-pure64-mips.patch
|
||||
0016-invalid_tls_model.patch
|
||||
gcc10-pr91920.patch
|
||||
0017-pr93402.patch
|
||||
|
||||
400-dlang-phobos.patch
|
||||
401-dlang-32bits.patch
|
||||
|
@ -406,7 +410,7 @@ package() {
|
|||
# linker finds the libs from relocated sysroot
|
||||
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
|
||||
if [ -h "$so" ]; then
|
||||
local _real=$(basename "$(readlink \"$so\")")
|
||||
local _real=$(basename "$(readlink "$so")")
|
||||
rm -f "$so"
|
||||
echo "GROUP ($_real)" > "$so"
|
||||
fi
|
||||
|
@ -624,7 +628,7 @@ gnat() {
|
|||
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
|
||||
}
|
||||
|
||||
sha512sums="a12dff52af876aee0fd89a8d09cdc455f35ec46845e154023202392adc164848faf8ee881b59b681b696e27c69fd143a214014db4214db62f9891a1c8365c040 gcc-9.2.0.tar.xz
|
||||
sha512sums="4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de gcc-9.3.0.tar.xz
|
||||
e36e95b81489163abd6fe9d58f7867bdca43e61143afacbfb17f4698c0b16ec5fd0061d8fab7b2ae615540bebd721c2e2227f80401b4e7fc253da9da62e6b513 002_all_default-relro.patch
|
||||
f86466c62b8291fac46f9c250c7ad8fa5ab7b1cce2504442fd07ddc4543665b317ae28951f244e39aba29aeaf3fff252ec4f6a147aa16adb2b7aed747dd89188 003_all_default-fortify-source.patch
|
||||
5e4794d1caddb1050d8935ae5a53ba275b653ad2c9954df89a8c47ac694e6139011829f440eb7e5b24fd57ea25daf25ac83f317871841a78ffb74d167d6f8bf9 005_all_default-as-needed.patch
|
||||
|
@ -655,8 +659,6 @@ a1f7750bc7b8b7d916a5dee34fcc736bd4fb249c96538b547d495794e6cfd49356aa3974506a1507
|
|||
f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45b58ba8764ab1eb575d4eb6d6dfc550a87a183f8b94e76181 320-libffi-gnulinux.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
17e0faeef742d32d57a070d983480367dd28cd28d47a8966ce327afdff3a38ea76803a833c90aff7d3a93aa66dae76c9be47b2408500913b40571af25b85aca7 0016-invalid_tls_model.patch
|
||||
e9fef7677f9541848cd1df0bf3c330f06f1369bdf1d228238b7f1d03d8f2c4be07fd62be503b7bf72b6b1e2d4e404ddd957157b56b8050e3657820ade77491aa gcc10-pr91920.patch
|
||||
0e20a5717c20ddc1d9f00276453b0abb4868adff0496604ad7d5b766a1028181c09c2061c5648bcfd4cb29dca7048cc866d2f27c013d82c2440164f17eac685d 0017-pr93402.patch
|
||||
38772c5b0905455a44c43d6ef7e5f140530006e2bde9f5ffd6b569c7cf9633992515f666b486d7a78c30ab8da99b92b2775c90fde47821ae542ef1c49dc405df 400-dlang-phobos.patch
|
||||
84bdbdfcb972161765b81220ea2e80e83c32f3ab27596b77eb451d8cac4bd6312210df468581c2b0e1363f5e3b31654e369c47ae84c907f3b54a1786d7c17830 401-dlang-32bits.patch
|
||||
9d73f21eaa2458d28a144dd0e5478ed52763a4d8bbf62084b607db52bce1e2242f773c853fc34e6aae2d53c4124948139954627064e850e9dabaddaef5cb9d69 402-dlang-stat.patch
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
2019-09-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/91920
|
||||
* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
|
||||
variables as shared.
|
||||
|
||||
* c-c++-common/gomp/pr91920.c: New test.
|
||||
|
||||
--- a/gcc/gimplify.c.jj 2019-09-20 12:25:46.829408105 +0200
|
||||
+++ b/gcc/gimplify.c 2019-09-27 11:52:17.458446652 +0200
|
||||
@@ -7132,6 +7132,8 @@ omp_default_clause (struct gimplify_omp_
|
||||
kind = lang_hooks.decls.omp_predetermined_sharing (decl);
|
||||
if (kind != OMP_CLAUSE_DEFAULT_UNSPECIFIED)
|
||||
default_kind = kind;
|
||||
+ else if (VAR_P (decl) && TREE_STATIC (decl) && DECL_IN_CONSTANT_POOL (decl))
|
||||
+ default_kind = OMP_CLAUSE_DEFAULT_SHARED;
|
||||
|
||||
switch (default_kind)
|
||||
{
|
||||
--- a/gcc/testsuite/c-c++-common/gomp/pr91920.c.jj 2019-09-27 11:57:26.066813061 +0200
|
||||
+++ b/gcc/testsuite/c-c++-common/gomp/pr91920.c 2019-09-27 11:57:08.931070237 +0200
|
||||
@@ -0,0 +1,19 @@
|
||||
+/* PR middle-end/91920 */
|
||||
+
|
||||
+void bar (float *);
|
||||
+
|
||||
+void
|
||||
+foo (void)
|
||||
+{
|
||||
+ int i;
|
||||
+ float f[3] = { 0.0f, 0.0f, 0.0f };
|
||||
+#pragma omp parallel for default(none) reduction(+:f[:3])
|
||||
+ for (i = 0; i < 1000; i++)
|
||||
+ {
|
||||
+ int j;
|
||||
+ float k[3] = { 0.25f, 0.5f, 0.75f };
|
||||
+ for (j = 0; j < 3; j++)
|
||||
+ f[j] += k[j];
|
||||
+ }
|
||||
+ bar (f);
|
||||
+}
|
Loading…
Reference in a new issue