diff --git a/gcc-epel.spec b/gcc-epel.spec index e58223c..5d17abe 100644 --- a/gcc-epel.spec +++ b/gcc-epel.spec @@ -1,10 +1,10 @@ -%global DATE 20220401 -%global gitrev f0191923ac7d1fee22772d456c59737b935c3483 +%global DATE 20220127 +%global gitrev 2fa6e5c54e782377faa4c9c1f0e0b16db27f266c %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 14 +%global gcc_release 15 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -323,9 +323,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 @@ -896,11 +896,11 @@ 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~ %if 0 %patch23 -p1 -b .pie~ %patch24 -p1 -b .now~ %endif -%patch25 -p0 -b .pr105123~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3467,10 +3467,13 @@ end %endif %changelog +* Sun Jul 24 2022 Robert Scheck 11.2.1-15 +- revert backports from 11.2.1-10 (to avoid LTO version 11.3 bump) + * Fri Jul 22 2022 Robert Scheck 11.2.1-14 - enable bootstrap mode (LTO version 11.3 instead of expected 11.2) -* Wed May 11 2022 Robert Scheck 11.2.1-10 +* Wed May 11 2022 Robert Scheck 11.2.1-13 - backport from 11.2.1-10: update from releases/gcc-11-branch (#2063255) - backport from 11.2.1-10: fix x86 vector initialization expansion fallback - backport from 11.2.1-10: drop patch 22 (gcc11-libsanitizer-pthread.patch; diff --git a/gcc11-libsanitizer-pthread.patch b/gcc11-libsanitizer-pthread.patch new file mode 100644 index 0000000..fc88d9e --- /dev/null +++ b/gcc11-libsanitizer-pthread.patch @@ -0,0 +1,54 @@ +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 deleted file mode 100644 index 1b10d70..0000000 --- a/gcc11-pr105123.patch +++ /dev/null @@ -1,48 +0,0 @@ -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 28e3300..368229a 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-11.2.1-20220401.tar.xz) = 10a0cda5ca957abe24e49f1eee6b2254c847282ab70f0064124a71ba6d133e67d8dec2f0071806108003999810cfbc164cff77b23755b9f15797e5b6ae32b2c0 +SHA512 (gcc-11.2.1-20220127.tar.xz) = da9fa3122aa15ad647e07fac27e8c59de74fa04f1846074320751f6fbfa30ac239867b6c349c4d0c08ada01722e6074a89809dd89c3e189fefdfcf16fad70498 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7