From 137bfd9fcb9e91b81d6315e8130b97b44772893e Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Mon, 4 Apr 2022 11:58:42 -0400 Subject: [PATCH] Update from Fedora 11.2.1-10 Resolves: #2063255 --- .gitignore | 1 + gcc.spec | 59 ++++++++++++++++++++++++++++---- gcc11-libsanitizer-pthread.patch | 54 ----------------------------- gcc11-pr105123.patch | 48 ++++++++++++++++++++++++++ sources | 2 +- 5 files changed, 103 insertions(+), 61 deletions(-) delete mode 100644 gcc11-libsanitizer-pthread.patch create mode 100644 gcc11-pr105123.patch diff --git a/.gitignore b/.gitignore index b55b2f9..b8ba9ac 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /gcc-11.2.1-20211019.tar.xz /gcc-11.2.1-20211203.tar.xz /gcc-11.2.1-20220127.tar.xz +/gcc-11.2.1-20220401.tar.xz diff --git a/gcc.spec b/gcc.spec index 4fdcde7..3a5ce26 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20220127 -%global gitrev 2fa6e5c54e782377faa4c9c1f0e0b16db27f266c +%global DATE 20220401 +%global gitrev f0191923ac7d1fee22772d456c59737b935c3483 %global gcc_version 11.2.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 9 +%global gcc_release 10 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -116,7 +116,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}.4%{?dist} +Release: %{gcc_release}%{?dist} # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -271,9 +271,9 @@ Patch18: gcc11-Wbidi-chars.patch Patch19: gcc11-dg-ice-fixes.patch Patch20: gcc11-relocatable-pch.patch Patch21: gcc11-dejagnu-multiline.patch -Patch22: gcc11-libsanitizer-pthread.patch Patch23: gcc11-pie.patch Patch24: gcc11-bind-now.patch +Patch25: gcc11-pr105123.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -823,9 +823,9 @@ so that there cannot be any synchronization problems. %patch19 -p1 -b .ice~ %patch20 -p1 -b .pch~ %patch21 -p1 -b .dejagnu-multiline~ -%patch22 -p1 -b .libsanitizer-pthread~ %patch23 -p1 -b .pie~ %patch24 -p1 -b .now~ +%patch25 -p0 -b .pr105123~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3271,6 +3271,53 @@ end %{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so.0.0.0 %changelog +* Mon Apr 4 2022 David Malcolm - 11.2.1-10 +- update from releases/gcc-11-branch (#2063255) + - PRs ada/98724, ada/104258, ada/104767, ada/104861, c++/58646, c++/59950, + c++/61611, c++/95036, c++/100468, c++/101030, c++/101095, c++/101371, + c++/101515, c++/101767, c++/102045, c++/102123, c++/102538, + c++/102740, c++/102990, c++/103057, c++/103186, c++/103291, + c++/103299, c++/103337, c++/103711, c++/103769, c++/103968, + c++/104107, c++/104108, c++/104284, c++/104410, c++/104472, + c++/104513, c++/104568, c++/104667, c++/104806, c++/104847, + c++/104944, c++/104994, c++/105035, c++/105061, c/82283, c/84685, + c/104510, c/104711, d/104659, d/105004, debug/104337, debug/104517, + debug/104557, fortran/66193, fortran/99585, fortran/100337, + fortran/103790, fortran/104211, fortran/104311, fortran/104331, + fortran/104430, fortran/104619, fortran/104811, go/100537, + libgomp/104385, libstdc++/101231, libstdc++/102358, libstdc++/103904, + libstdc++/104442, lto/104237, lto/104333, lto/104617, + middle-end/95115, middle-end/99578, middle-end/100464, + middle-end/100680, middle-end/100775, middle-end/100786, + middle-end/104307, middle-end/104402, middle-end/104446, + middle-end/104786, middle-end/104971, middle-end/105032, + preprocessor/104147, rtl-optimization/104544, rtl-optimization/104589, + rtl-optimization/104777, rtl-optimization/104814, sanitizer/102656, + sanitizer/104449, sanitizer/105093, target/79754, target/87496, + target/99708, target/99754, target/100784, target/101324, + target/102140, target/102952, target/102957, target/103307, + target/103627, target/103925, target/104090, target/104208, + target/104219, target/104253, target/104362, target/104448, + target/104451, target/104453, target/104458, target/104462, + target/104469, target/104502, target/104674, target/104681, + target/104688, target/104775, target/104890, target/104910, + target/104923, target/104963, target/104998, target/105000, + target/105052, target/105058, target/105068, testsuite/103556, + testsuite/103586, testsuite/104730, testsuite/104759, + testsuite/105055, tree-optimization/45178, tree-optimization/100834, + tree-optimization/101636, tree-optimization/102819, + tree-optimization/102893, tree-optimization/103169, + tree-optimization/103361, tree-optimization/103489, + tree-optimization/103544, tree-optimization/103596, + tree-optimization/103641, tree-optimization/103864, + tree-optimization/104263, tree-optimization/104288, + tree-optimization/104511, tree-optimization/104601, + tree-optimization/104675, tree-optimization/104782, + tree-optimization/104931, tree-optimization/105094 +- fix x86 vector initialization expansion fallback (PR target/105123) +- drop patch 22 (gcc11-libsanitizer-pthread.patch; + upstreamed as r11-9607-ga8dd74bfb921ed) + * Thu Feb 10 2022 Marek Polacek 11.2.1-9.4 - add --enable-host-bind-now, use it (#2044917) diff --git a/gcc11-libsanitizer-pthread.patch b/gcc11-libsanitizer-pthread.patch deleted file mode 100644 index fc88d9e..0000000 --- a/gcc11-libsanitizer-pthread.patch +++ /dev/null @@ -1,54 +0,0 @@ -Backported from LLVM upstream: - -commit ef14b78d9a144ba81ba02083fe21eb286a88732b -Author: Florian Weimer -Date: Tue Feb 8 12:46:41 2022 -0800 - - [sanitizer] Use _thread_db_sizeof_pthread to obtain struct pthread size - - This symbol has been exported (as an internal GLIBC_PRIVATE symbol) from libc.so.6 starting with glibc 2.34. glibc uses it internally for its libthread_db implementation to enable thread debugging on GDB, so it is unlikely to go away for now. - - Fixes #52989. - - Reviewed By: #sanitizers, MaskRay, vitalybuka - - Differential Revision: https://reviews.llvm.org/D119007 - ---- a/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp -+++ b/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp -@@ -265,10 +265,8 @@ void InitTlsSize() { } - // sizeof(struct pthread) from glibc. - static atomic_uintptr_t thread_descriptor_size; - --uptr ThreadDescriptorSize() { -- uptr val = atomic_load_relaxed(&thread_descriptor_size); -- if (val) -- return val; -+static uptr ThreadDescriptorSizeFallback() { -+ uptr val = 0; - #if defined(__x86_64__) || defined(__i386__) || defined(__arm__) - int major; - int minor; -@@ -323,8 +321,21 @@ uptr ThreadDescriptorSize() { - #elif defined(__s390__) - val = FIRST_32_SECOND_64(1152, 1776); // valid for glibc 2.22 - #endif -+ return val; -+} -+ -+uptr ThreadDescriptorSize() { -+ uptr val = atomic_load_relaxed(&thread_descriptor_size); - if (val) -- atomic_store_relaxed(&thread_descriptor_size, val); -+ return val; -+ // _thread_db_sizeof_pthread is a GLIBC_PRIVATE symbol that is exported in -+ // glibc 2.34 and later. -+ if (unsigned *psizeof = static_cast( -+ dlsym(RTLD_DEFAULT, "_thread_db_sizeof_pthread"))) -+ val = *psizeof; -+ if (!val) -+ val = ThreadDescriptorSizeFallback(); -+ atomic_store_relaxed(&thread_descriptor_size, val); - return val; - } - diff --git a/gcc11-pr105123.patch b/gcc11-pr105123.patch new file mode 100644 index 0000000..1b10d70 --- /dev/null +++ b/gcc11-pr105123.patch @@ -0,0 +1,48 @@ +2022-04-01 Jakub Jelinek + + PR target/105123 + * config/i386/i386-expand.c (ix86_expand_vector_init_general): Avoid + using word as target for expand_simple_binop when doing ASHIFT and + IOR. + + * gcc.target/i386/pr105123.c: New test. + +--- gcc/config/i386/i386-expand.c.jj 2022-03-19 13:52:53.000000000 +0100 ++++ gcc/config/i386/i386-expand.c 2022-04-01 16:51:27.253154191 +0200 +@@ -14479,9 +14479,9 @@ quarter: + else + { + word = expand_simple_binop (word_mode, ASHIFT, word, shift, +- word, 1, OPTAB_LIB_WIDEN); ++ NULL_RTX, 1, OPTAB_LIB_WIDEN); + word = expand_simple_binop (word_mode, IOR, word, elt, +- word, 1, OPTAB_LIB_WIDEN); ++ NULL_RTX, 1, OPTAB_LIB_WIDEN); + } + } + +--- gcc/testsuite/gcc.target/i386/pr105123.c.jj 2022-04-01 16:56:44.549625810 +0200 ++++ gcc/testsuite/gcc.target/i386/pr105123.c 2022-04-01 16:56:33.569782511 +0200 +@@ -0,0 +1,22 @@ ++/* PR target/105123 */ ++/* { dg-do run { target sse2_runtime } } */ ++/* { dg-options "-msse2" } */ ++/* { dg-additional-options "-mtune=i686" { target ia32 } } */ ++ ++typedef unsigned short __attribute__((__vector_size__ (4 * sizeof (unsigned short)))) V; ++ ++V ++foo (unsigned short u, V v) ++{ ++ return __builtin_shuffle (u * v, v); ++} ++ ++int ++main () ++{ ++ V x = foo (1, (V) { 0, 1, 2, 3 }); ++ for (unsigned i = 0; i < 4; i++) ++ if (x[i] != i) ++ __builtin_abort (); ++ return 0; ++} diff --git a/sources b/sources index a2dc8ba..007eb2c 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.2.1-20220127.tar.xz) = da9fa3122aa15ad647e07fac27e8c59de74fa04f1846074320751f6fbfa30ac239867b6c349c4d0c08ada01722e6074a89809dd89c3e189fefdfcf16fad70498 +SHA512 (gcc-11.2.1-20220401.tar.xz) = 10a0cda5ca957abe24e49f1eee6b2254c847282ab70f0064124a71ba6d133e67d8dec2f0071806108003999810cfbc164cff77b23755b9f15797e5b6ae32b2c0 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7