diff --git a/gcc-toolset-16-gcc.spec b/gcc-toolset-16-gcc.spec index 83342b0..44ef254 100644 --- a/gcc-toolset-16-gcc.spec +++ b/gcc-toolset-16-gcc.spec @@ -15,13 +15,13 @@ BuildRequires: gcc-toolset-%{gts_ver}-devel %{?scl:%global __strip %%{_scl_root}/usr/bin/strip} %{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump} %{?scl:%scl_package gcc} -%global DATE 20260515 -%global gitrev d776f42bb910ebccf652b010b80c22bcca736f7f +%global DATE 20260703 +%global gitrev aac23a76ffc9b3a5bd8fcf07ead7c5249f91c457 %global gcc_version 16.1.1 %global gcc_major 16 # 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 3 +%global gcc_release 4 %global nvptx_tools_gitrev 212da2e781ed0f9423824e85eb04819958513f7a %global newlib_cygwin_gitrev d35cc82b5ec15bb8a5fe0fe11e183d1887992e99 %global isl_version 0.24 @@ -260,12 +260,10 @@ BuildRequires: libzstd-devel BuildRequires: glibc >= 2.3.90-35 %endif %ifarch %{multilib_64_archs} -# Ensure glibc{,-devel} is installed for both multilib arches -%if 0%{?rhel} < 10 -BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so -%else -BuildRequires: /usr/lib/libc.so /usr/lib64/libc.so +BuildRequires: (glibc32 or glibc-devel(%{__isa_name}-32)) %endif +%ifarch sparcv9 ppc +BuildRequires: (glibc64 or glibc-devel(%{__isa_name}-64)) %endif %ifarch ia64 BuildRequires: libunwind >= 0.98 @@ -369,7 +367,6 @@ Patch9: gcc16-Wno-format-security.patch Patch10: gcc16-rh1574936.patch Patch11: gcc16-d-shared-libphobos.patch Patch12: gcc16-pr119006.patch -Patch13: gcc16-pr125312.patch Patch50: isl-rh2155127.patch @@ -733,7 +730,6 @@ so that there cannot be any synchronization problems. %patch -P10 -p0 -b .rh1574936~ %patch -P11 -p0 -b .d-shared-libphobos~ %patch -P12 -p0 -b .pr119006~ -%patch -P13 -p1 -b .pr125312~ %patch -P100 -p1 -b .fortran-fdec-duplicates~ @@ -816,8 +812,8 @@ rm -f gcc/testsuite/go.test/test/chan/goroutines.go # These tests get stuck and don't timeout. %ifarch ppc ppc64 ppc64le s390x -rm -f libgomp/testsuite/libgomp.c/target-*.c -rm -rf libgomp/testsuite/libgomp.oacc* +#rm -f libgomp/testsuite/libgomp.c/target-*.c +#rm -rf libgomp/testsuite/libgomp.oacc* rm -rf libgomp/testsuite/libgomp.graphite* # This uses a removed file (#2093997). rm -rf libgomp/testsuite/libgomp.fortran/pr90030.f90 @@ -2932,6 +2928,43 @@ fi %endif %changelog +* Mon Jul 6 2026 Marek Polacek 16.1.1-4 +- update from releases/gcc-16 branch + - PRs ada/18205, ada/125695, c/124303, c/124532, c/124985, c/125252, + c++/65271, c++/113563, c++/115314, c++/117259, c++/121094, c++/123536, + c++/124584, c++/124978, c++/125007, c++/125123, c++/125135, + c++/125284, c++/125333, c++/125334, c++/125376, c++/125378, + c++/125384, c++/125408, c++/125412, c++/125423, c++/125454, + c++/125490, c++/125498, c++/125745, c++/125759, c++/125764, + c++/125768, c++/125770, c++/125889, c++/125900, c++/125939, + fortran/60576, fortran/105582, fortran/106546, fortran/115260, + fortran/125021, fortran/125051, fortran/125391, fortran/125393, + fortran/125416, fortran/125430, fortran/125481, fortran/125527, + fortran/125528, fortran/125529, fortran/125530, fortran/125531, + fortran/125534, fortran/125535, fortran/125606, fortran/125650, + fortran/125669, fortran/125902, fortran/126018, ipa/125699, + libstdc++/71301, libstdc++/78302, libstdc++/118158, libstdc++/125228, + libstdc++/125312, libstdc++/125369, libstdc++/125374, + libstdc++/125450, libstdc++/125890, libstdc++/125956, + middle-end/125156, middle-end/125621, middle-end/125977, other/125348, + rtl-optimization/125173, rtl-optimization/125375, target/106895, + target/120144, target/120870, target/122665, target/122827, + target/124870, target/124895, target/124908, target/125148, + target/125215, target/125320, target/125351, target/125355, + target/125362, target/125373, target/125409, target/125448, + target/125469, target/125478, target/125611, target/125628, + target/125670, target/125751, target/125752, target/125795, + target/125818, target/125838, target/125883, target/125949, + target/125972, target/125992, tree-optimization/124151, + tree-optimization/125250, tree-optimization/125291, + tree-optimization/125419, tree-optimization/125431, + tree-optimization/125477, tree-optimization/125501, + tree-optimization/125502, tree-optimization/125545, + tree-optimization/125553, tree-optimization/125646, + tree-optimization/125652, tree-optimization/125686, + tree-optimization/125774, tree-optimization/125776 +- don't remove openacc tests for s390x and ppc64le (RHEL-181820) + * Wed Jun 17 2026 Marek Polacek 16.1.1-3 - new package (RHEL-169581) diff --git a/gcc16-pr125312.patch b/gcc16-pr125312.patch deleted file mode 100644 index 4146f7c..0000000 --- a/gcc16-pr125312.patch +++ /dev/null @@ -1,152 +0,0 @@ -commit 0fba51e8f39b245a3c0c2b75dad2619ed749f320 -Author: Jonathan Wakely -Date: Fri May 15 10:41:33 2026 +0100 - - libstdc++: Make configure check for atomics work on Windows [PR125312] - - The changes in r16-427-g86627faec10da5 do not work for native mingw-w64 - builds because the #include with a hardcoded unix-style path doesn't - work for a native mingw-w64 compiler. This results in configure - detecting that native mingw builds do not support atomic builtins for - the _Atomic_word type, causing non-inline atomics to be used for - __gnu_cxx::__exchange_and_add and __gnu_cxx::__atomic_add, which is an - unintented ABI change (and inconsistent with mingw cross-compilers where - the configure test passes and so enables the inline functions using - atomic builtins). - - This attempts to solve the problem by copying the atomic_word.h header - to the current working directory, so it can be included without using an - absolute path. - - libstdc++-v3/ChangeLog: - - PR libstdc++/125312 - * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Copy header - into cwd instead of including it via an absolute path. - * configure: Regenerate. - - (cherry picked from commit 1b191d0a23f3b82f6543913f8c3c2e46942af859) - -diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 -index 8dc9e17b214..e6e4f7b394a 100644 ---- a/libstdc++-v3/acinclude.m4 -+++ b/libstdc++-v3/acinclude.m4 -@@ -3755,6 +3755,15 @@ AC_DEFUN([GLIBCXX_ENABLE_ATOMIC_BUILTINS], [ - esac - fi - -+ # The $glibcxx_builddir/include/$target/bits/atomic_word.h header is created -+ # by include/Makefile so isn't available during configure. Copy it from the -+ # source dir to $PWD so that we don't include it using an absolute path, -+ # which does not work for win32 native builds (PR libstdc++/125312). -+ if ! $LN_S "${glibcxx_srcdir}/config/${atomic_word_dir}/atomic_word.h" ./ -+ then -+ AC_MSG_ERROR([cannot create ./atomic_word.h]) -+ fi -+ - if test "$atomic_builtins_link_tests" = yes; then - - # Do link tests. -@@ -3763,7 +3772,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ATOMIC_BUILTINS], [ - - AC_CACHE_CHECK([for atomic builtins for _Atomic_word], - glibcxx_cv_atomic_word, -- [AC_TRY_LINK([#include "${glibcxx_srcdir}/config/$atomic_word_dir/atomic_word.h"], -+ [AC_TRY_LINK([#include "atomic_word.h"], - [_Atomic_word a = 0, b; - b = __atomic_fetch_add(&a, 1, __ATOMIC_ACQ_REL);], - [glibcxx_cv_atomic_word=yes], -@@ -3779,7 +3788,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ATOMIC_BUILTINS], [ - - cat > conftest.$ac_ext << EOF - [#]line __oline__ "configure" --[#]include "${glibcxx_srcdir}/config/$atomic_word_dir/atomic_word.h" -+[#]include "atomic_word.h" - int main() - { - _Atomic_word a = 0, b; -@@ -3799,6 +3808,8 @@ EOF - rm -f conftest* - fi - -+ rm -f ./atomic_word.h -+ - CXXFLAGS="$old_CXXFLAGS" - AC_LANG_RESTORE - -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 6713e4504b1..359545c4bce 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -16422,6 +16422,15 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - esac - fi - -+ # The $glibcxx_builddir/include/$target/bits/atomic_word.h header is created -+ # by include/Makefile so isn't available during configure. Copy it from the -+ # source dir to $PWD so that we don't include it using an absolute path, -+ # which does not work for win32 native builds (PR libstdc++/125312). -+ if ! $LN_S "${glibcxx_srcdir}/config/${atomic_word_dir}/atomic_word.h" ./ -+ then -+ as_fn_error $? "cannot create ./atomic_word.h" "$LINENO" 5 -+ fi -+ - if test "$atomic_builtins_link_tests" = yes; then - - # Do link tests. -@@ -16438,7 +16447,7 @@ else - fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --#include "${glibcxx_srcdir}/config/$atomic_word_dir/atomic_word.h" -+#include "atomic_word.h" - int - main () - { -@@ -16468,8 +16477,8 @@ $as_echo "$glibcxx_cv_atomic_word" >&6; } - # Fake what AC_TRY_COMPILE does. - - cat > conftest.$ac_ext << EOF --#line 16471 "configure" --#include "${glibcxx_srcdir}/config/$atomic_word_dir/atomic_word.h" -+#line 16480 "configure" -+#include "atomic_word.h" - int main() - { - _Atomic_word a = 0, b; -@@ -16495,6 +16504,8 @@ $as_echo "$glibcxx_cv_atomic_word" >&6; } - rm -f conftest* - fi - -+ rm -f ./atomic_word.h -+ - CXXFLAGS="$old_CXXFLAGS" - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -16614,7 +16625,7 @@ $as_echo "mutex" >&6; } - # unnecessary for this test. - - cat > conftest.$ac_ext << EOF --#line 16617 "configure" -+#line 16628 "configure" - int main() - { - _Decimal32 d1; -@@ -16656,7 +16667,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - # unnecessary for this test. - - cat > conftest.$ac_ext << EOF --#line 16659 "configure" -+#line 16670 "configure" - template - struct same - { typedef T2 type; }; -@@ -54145,7 +54156,7 @@ $as_echo "$glibcxx_cv_libbacktrace_atomics" >&6; } - CXXFLAGS='-O0 -S' - - cat > conftest.$ac_ext << EOF --#line 54148 "configure" -+#line 54159 "configure" - #include - int main() - {