From 0e410e961f1bd759fb8e87e4db6ba111edde5fee Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Tue, 11 Aug 2026 11:18:05 -0400 Subject: [PATCH] 16.2.1-1 Resolves: RHEL-169581 --- .gitignore | 1 + gcc-toolset-16-gcc.spec | 78 +++++++- gcc16-RHEL-150603.patch | 27 +++ gcc16-libstdc++-compat-incremental.patch | 219 +++++++++++++++++++++++ gcc16-libstdc++-compat.patch | 134 +++++++++++--- gcc16-libstdc++-docs.patch | 4 +- gcc16-pr126667.patch | 47 +++++ sources | 2 +- 8 files changed, 477 insertions(+), 35 deletions(-) create mode 100644 gcc16-RHEL-150603.patch create mode 100644 gcc16-libstdc++-compat-incremental.patch create mode 100644 gcc16-pr126667.patch diff --git a/.gitignore b/.gitignore index 3444aa5..f0a4e2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /gcc-16.1.1-20260703.tar.xz +/gcc-16.2.1-20260807.tar.xz diff --git a/gcc-toolset-16-gcc.spec b/gcc-toolset-16-gcc.spec index dd146c8..30aa29d 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 20260703 -%global gitrev aac23a76ffc9b3a5bd8fcf07ead7c5249f91c457 -%global gcc_version 16.1.1 +%global DATE 20260807 +%global gitrev 25040fb60e95bc8cb8eaa4b6706bd32591d95e7a +%global gcc_version 16.2.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 4 +%global gcc_release 1 %global nvptx_tools_gitrev 212da2e781ed0f9423824e85eb04819958513f7a %global newlib_cygwin_gitrev d35cc82b5ec15bb8a5fe0fe11e183d1887992e99 %global isl_version 0.24 @@ -177,10 +177,16 @@ BuildRequires: gcc-toolset-%{gts_ver}-devel %else %global build_annobin_plugin 0 %endif +%if 0%{?fedora} >= 32 || 0%{?rhel} > 8 +%global build_libgdiagnostics 1 +%else +# RHEL8 Sphinx is too old and this wouldn't build. +%global build_libgdiagnostics 0 +%endif Summary: GCC version %{gcc_major} Name: %{?scl_prefix}gcc Version: %{gcc_version} -Release: %{gcc_release}.1%{?dist} +Release: %{gcc_release}%{?dist} # License notes for some of the less obvious ones: # gcc/doc/cppinternals.texi: Linux-man-pages-copyleft-2-para # isl: MIT, BSD-2-Clause @@ -367,6 +373,7 @@ Patch9: gcc16-Wno-format-security.patch Patch10: gcc16-rh1574936.patch Patch11: gcc16-d-shared-libphobos.patch Patch12: gcc16-pr119006.patch +Patch13: gcc16-pr126667.patch Patch50: isl-rh2155127.patch @@ -375,6 +382,7 @@ Patch100: gcc16-fortran-fdec-duplicates.patch Patch1000: gcc16-libstdc++-compat.patch Patch1001: gcc16-libgfortran-compat.patch Patch1002: gcc16-nvptx-offload.patch +Patch1003: gcc16-libstdc++-compat-incremental.patch Patch3000: 0001-basic_string-reserve-n-semantics-are-not-available-i.patch Patch3001: 0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch @@ -393,6 +401,7 @@ Patch3014: gcc16-dg-ice-fixes.patch Patch3015: 0018-Use-CXX11-ABI.patch Patch3017: 0020-more-fixes.patch Patch3018: 0021-libstdc++-disable-tests.patch +Patch3019: gcc16-RHEL-150603.patch %if 0%{?rhel} == 10 %global nonsharedver 140 @@ -744,6 +753,7 @@ 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 -p0 -b .pr126667~ %patch -P100 -p1 -b .fortran-fdec-duplicates~ @@ -760,6 +770,7 @@ rm -f gcc/testsuite/g++.dg/tsan/pthread_cond_clockwait.C %patch -P1000 -p0 -b .libstdc++-compat~ %patch -P1001 -p0 -b .libgfortran-compat~ %patch -P1002 -p1 -b .nvptx-compat~ +%patch -P1003 -p0 -b .libstdc++-compat-inc~ %if %{build_isl} %patch -P50 -p0 -b .isl-rh2155127~ @@ -784,6 +795,7 @@ touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m %patch -P3015 -p1 -b .dts-test-15~ %patch -P3017 -p1 -b .dts-test-17~ %patch -P3018 -p1 -b .dts-test-18~ +%patch -P3019 -p1 -b .RHEL-150603~ find gcc/testsuite -name \*.pr96939~ | xargs rm -f @@ -1214,8 +1226,10 @@ done) cp -p $i ../rpm.doc/libitm/$i.libitm done) %endif +%if %{build_libgdiagnostics} (cd gcc/doc/libgdiagnostics; make html; \ mv _build/html ../../../rpm.doc/libgdiagnostics-devel/html ) +%endif rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9] find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9 @@ -1539,10 +1553,12 @@ cp -a ../gcc/jit/libgccjit*.h $FULLPATH/include/ /usr/bin/install -c -m 644 objlibgccjit/gcc/doc/libgccjit.info %{buildroot}/%{_infodir}/ gzip -9 %{buildroot}/%{_infodir}/libgccjit.info +%if %{build_libgdiagnostics} rm -f $FULLEPATH/libgdiagnostics.so cp -a objlibgccjit/gcc/libgdiagnostics.so* %{buildroot}%{_prefix}/%{_lib}/ cp -a ../gcc/libgdiagnostics*.h %{buildroot}%{_prefix}/include/ cp -a objlibgccjit/gcc/sarif-replay %{buildroot}%{_prefix}/bin/ +%endif sed -e 's,\.\./include/,../../../../include/,' \ %{buildroot}%{_prefix}/%{_lib}/libstdc++.modules.json \ @@ -3012,6 +3028,7 @@ fi %doc gcc/jit/docs/examples %endif +%if %{build_libgdiagnostics} %files -n libgdiagnostics %{_prefix}/bin/sarif-replay %{_prefix}/%{_lib}/libgdiagnostics.so.* @@ -3020,6 +3037,7 @@ fi %{_prefix}/%{_lib}/libgdiagnostics.so %{_prefix}/include/libgdiagnostics*.h %doc rpm.doc/libgdiagnostics-devel/* +%endif %files plugin-devel %dir %{_prefix}/lib/gcc @@ -3067,6 +3085,56 @@ fi %endif %changelog +* Mon Aug 10 2026 Marek Polacek 16.2.1-1 +- update from releases/gcc-16 branch (RHEL-220994) + - GCC 16.2.0 release + - PRs ada/126379, ada/126482, ada/126553, algol68/126330, c/123569, + c/125072, c/125604, c/125935, c++/91155, c++/119343, c++/121552, + c++/125541, c++/125591, c++/125601, c++/125674, c++/125680, + c++/125901, c++/126007, c++/126031, c++/126036, c++/126057, + c++/126066, c++/126209, c++/126215, c++/126280, c++/126309, + c++/126310, c++/126343, c++/126406, c++/126420, c++/126423, + c++/126508, driver/124058, fortran/97592, fortran/125172, + fortran/125866, fortran/125998, fortran/126127, fortran/126170, + fortran/126210, fortran/126234, fortran/126303, fortran/126386, + ipa/124128, ipa/125121, ipa/125207, libfortran/126116, libgcc/123976, + libstdc++/122197, libstdc++/123165, libstdc++/124851, + libstdc++/124852, libstdc++/124853, libstdc++/124854, + libstdc++/125200, libstdc++/126111, lto/125257, middle-end/124637, + middle-end/125875, middle-end/126084, middle-end/126341, + middle-end/126405, middle-end/126410, middle-end/126447, + middle-end/126497, preprocessor/125048, rtl-optimization/125209, + rtl-optimization/126184, sanitizer/126307, target/67459, target/96446, + target/96530, target/96808, target/97360, target/98872, target/100777, + target/101849, target/102976, target/103127, target/104923, + target/105116, target/106016, target/106017, target/106833, + target/110411, target/119210, target/121957, target/122948, + target/123625, target/124364, target/124948, target/126049, + target/126054, target/126081, target/126098, target/126148, + target/126320, target/126429, target/126438, target/126446, + target/126450, target/126484, target/126581, testsuite/112728, + testsuite/118407, testsuite/124043, testsuite/124112, + testsuite/124361, testsuite/124726, testsuite/126261, + tree-optimization/120201, tree-optimization/124663, + tree-optimization/125040, tree-optimization/125290, + tree-optimization/125296, tree-optimization/125396, + tree-optimization/125597, tree-optimization/125668, + tree-optimization/125730, tree-optimization/125786, + tree-optimization/125953, tree-optimization/126008, + tree-optimization/126150, tree-optimization/126171, + tree-optimization/126194, tree-optimization/126225, + tree-optimization/126257, tree-optimization/126262, + tree-optimization/126404, tree-optimization/126457, + tree-optimization/126464, tree-optimization/126471, + tree-optimization/126476, tree-optimization/126490, + tree-optimization/126503, tree-optimization/126504, + tree-optimization/126547, tree-optimization/126549, + tree-optimization/126564, tree-optimization/126576, + tree-optimization/126601 + - fix up s390x ICE on botan (PR target/126667) +- fix s390x libstdc++_nonshared symbols (RHEL-232912) +- always inline _M_extract_name + * Tue Jul 14 2026 Marek Polacek 16.1.1-4.1 - fix gating problems - fix asneeded libraries diff --git a/gcc16-RHEL-150603.patch b/gcc16-RHEL-150603.patch new file mode 100644 index 0000000..aa1c483 --- /dev/null +++ b/gcc16-RHEL-150603.patch @@ -0,0 +1,27 @@ +diff -pruN a/libstdc++-v3/include/bits/locale_facets_nonio.tcc b/libstdc++-v3/include/bits/locale_facets_nonio.tcc +--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2026-03-17 10:36:01.834877106 -0400 ++++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2026-03-17 10:50:39.810318497 -0400 +@@ -1040,6 +1040,7 @@ _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 + } + + template ++ [[__gnu__::__always_inline__]] inline + _InIter + time_get<_CharT, _InIter>:: + _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io, +@@ -1052,6 +1053,7 @@ _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 + } + + template ++ [[__gnu__::__always_inline__]] inline + _InIter + time_get<_CharT, _InIter>:: + _M_extract_num(iter_type __beg, iter_type __end, int& __member, +@@ -1089,6 +1091,7 @@ _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 + // __names in the second half (May is abbreviated as May). Some __names + // elements could be prefixes of other __names elements. + template ++ [[__gnu__::__always_inline__]] inline + _InIter + time_get<_CharT, _InIter>:: + _M_extract_name(iter_type __beg, iter_type __end, int& __member, diff --git a/gcc16-libstdc++-compat-incremental.patch b/gcc16-libstdc++-compat-incremental.patch new file mode 100644 index 0000000..a5cd3cf --- /dev/null +++ b/gcc16-libstdc++-compat-incremental.patch @@ -0,0 +1,219 @@ +--- libstdc++-v3/src/nonshared98/extfloat.S.jj 2026-08-05 17:04:25.222489107 +0200 ++++ libstdc++-v3/src/nonshared98/extfloat.S 2026-08-05 17:07:06.027857743 +0200 +@@ -106,7 +106,7 @@ + #define STRING .string + #endif + +-#if defined __x86_64__ || defined __i386__ || defined __aarch64__ ++#if defined __x86_64__ || defined __i386__ || defined __aarch64__ || defined __s390x__ + .weak SYM(_ZTIPKDF16_) + SECTION1(_ZTIPKDF16_) + ALIGN1 +--- libstdc++-v3/src/nonshared98/extfloat140.S.jj 2026-08-05 17:07:19.813692552 +0200 ++++ libstdc++-v3/src/nonshared98/extfloat140.S 2026-08-05 17:08:06.441133827 +0200 +@@ -0,0 +1,165 @@ ++/* Copyright (C) 2012-2026 Free Software Foundation, Inc. ++ ++ This file is part of the GNU ISO C++ Library. This library is free ++ software; you can redistribute it and/or modify it under the ++ terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ Under Section 7 of GPL version 3, you are granted additional ++ permissions described in the GCC Runtime Library Exception, version ++ 3.1, as published by the Free Software Foundation. ++ ++ You should have received a copy of the GNU General Public License and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ . */ ++ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++#if defined __s390x__ ++ .weak SYM(_ZTIPKDF16_) ++ SECTION1(_ZTIPKDF16_) ++ ALIGN1 ++ .type SYM(_ZTIPKDF16_), OBJECT ++ .size SYM(_ZTIPKDF16_), SIZE1 ++_ZTIPKDF16_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF16_) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF16_) ++ .weak SYM(_ZTIPDF16_) ++ SECTION1(_ZTIPDF16_) ++ ALIGN1 ++ .type SYM(_ZTIPDF16_), OBJECT ++ .size SYM(_ZTIPDF16_), SIZE1 ++_ZTIPDF16_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF16_) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF16_) ++ .weak SYM(_ZTIDF16_) ++ SECTION2(_ZTIDF16_) ++ ALIGN2 ++ .type SYM(_ZTIDF16_), OBJECT ++ .size SYM(_ZTIDF16_), SIZE2 ++_ZTIDF16_: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF16_) ++ .weak SYM(_ZTSPKDF16_) ++ .hidden SYM(_ZTSPKDF16_) ++ SECTION3(_ZTSPKDF16_) ++ ALIGN3 ++ .type SYM(_ZTSPKDF16_), OBJECT ++ .size SYM(_ZTSPKDF16_), 8 ++_ZTSPKDF16_: ++ STRING "PKDF16_" ++ .weak SYM(_ZTSPDF16_) ++ .hidden SYM(_ZTSPDF16_) ++ SECTION3(_ZTSPDF16_) ++ ALIGN3 ++ .type SYM(_ZTSPDF16_), OBJECT ++ .size SYM(_ZTSPDF16_), 7 ++_ZTSPDF16_: ++ STRING "PDF16_" ++ .weak SYM(_ZTSDF16_) ++ .hidden SYM(_ZTSDF16_) ++ SECTION3(_ZTSDF16_) ++ ALIGN3 ++ .type SYM(_ZTSDF16_), OBJECT ++ .size SYM(_ZTSDF16_), 6 ++_ZTSDF16_: ++ STRING "DF16_" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/Makefile.am.jj 2026-08-05 17:04:25.222836129 +0200 ++++ libstdc++-v3/src/nonshared98/Makefile.am 2026-08-05 17:08:35.235788792 +0200 +@@ -44,7 +44,7 @@ sources80 = \ + char8_t-rtti.S \ + ios_failure.cc + sources110 = +-sources140 = ++sources140 = extfloat140.S + + vpath % $(top_srcdir)/src/nonshared98 + vpath % $(top_srcdir) +--- libstdc++-v3/src/nonshared98/Makefile.in.jj 2026-08-05 17:04:25.222951026 +0200 ++++ libstdc++-v3/src/nonshared98/Makefile.in 2026-08-05 17:08:58.493735245 +0200 +@@ -134,13 +134,14 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) + am__v_lt_0 = --silent + am__v_lt_1 = + libnonshared98convenience140_la_LIBADD = +-am_libnonshared98convenience140_la_OBJECTS = $(am__objects_2) ++am__objects_3 = extfloat140.lo ++am_libnonshared98convenience140_la_OBJECTS = $(am__objects_3) + libnonshared98convenience140_la_OBJECTS = \ + $(am_libnonshared98convenience140_la_OBJECTS) + libnonshared98convenience80_la_LIBADD = +-am__objects_3 = char8_t-rtti.lo ios_failure.lo ++am__objects_4 = char8_t-rtti.lo ios_failure.lo + am_libnonshared98convenience80_la_OBJECTS = $(am__objects_1) \ +- $(am__objects_3) ++ $(am__objects_4) + libnonshared98convenience80_la_OBJECTS = \ + $(am_libnonshared98convenience80_la_OBJECTS) + AM_V_P = $(am__v_P_@AM_V@) +@@ -493,7 +494,7 @@ sources80 = \ + ios_failure.cc + + sources110 = +-sources140 = ++sources140 = extfloat140.S + libnonshared98convenience80_la_SOURCES = $(sources) $(sources80) + libnonshared98convenience110_la_SOURCES = $(sources) $(sources110) + libnonshared98convenience140_la_SOURCES = $(sources140) diff --git a/gcc16-libstdc++-compat.patch b/gcc16-libstdc++-compat.patch index e223d9a..1d4dcfe 100644 --- a/gcc16-libstdc++-compat.patch +++ b/gcc16-libstdc++-compat.patch @@ -5353,6 +5353,72 @@ +asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); +asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); +asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); +--- libstdc++-v3/src/nonshared20/tzdb140.cc.jj 2026-05-27 14:24:38.182663933 +0200 ++++ libstdc++-v3/src/nonshared20/tzdb140.cc 2026-05-29 13:49:44.515616477 +0200 +@@ -0,0 +1,63 @@ ++// Copyright The GNU Toolchain Authors. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_140 ++#include "tzdb80.cc" ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++asm (".hidden _ZNKSt6chrono4tzdb11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE"); ++asm (".hidden _ZNKSt6chrono4tzdb12current_zoneEv"); ++asm (".hidden _ZNKSt6chrono9time_zone15_M_get_sys_infoENS_10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1EEEEEE"); ++asm (".hidden _ZNKSt6chrono9time_zone17_M_get_local_infoENS_10time_pointINS_7local_tENS_8durationIlSt5ratioILl1ELl1EEEEEE"); ++asm (".hidden _ZNKSt6chrono9tzdb_list14const_iteratordeEv"); ++asm (".hidden _ZNKSt6chrono9tzdb_list5beginEv"); ++asm (".hidden _ZNKSt6chrono9tzdb_list5frontEv"); ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++asm (".hidden _ZNSt6chrono11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE"); ++asm (".hidden _ZNSt6chrono11reload_tzdbEv"); ++asm (".hidden _ZNSt6chrono12current_zoneEv"); ++asm (".hidden _ZNSt6chrono13get_tzdb_listEv"); ++asm (".hidden _ZNSt6chrono14remote_versionB5cxx11Ev"); ++asm (".hidden _ZNSt6chrono8get_tzdbEv"); ++asm (".hidden _ZNSt6chrono9tzdb_list11erase_afterENS0_14const_iteratorE"); ++asm (".hidden _ZNSt6chrono9tzdb_list14const_iteratorppEi"); ++asm (".hidden _ZNSt6chrono9tzdb_list14const_iteratorppEv"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node11fixed_leapsE"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node16num_leap_secondsE"); ++#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) ++asm (".hidden _ZNSt6ranges8__detail13__heap_selectIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS5_SaIS5_EEEENS0_10_Comp_projINS_4lessEMS5_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEEEvT_SK_SK_T0_"); ++#endif ++#if defined(__s390x__) ++asm (".hidden _ZNSt6ranges8__detail14__partial_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS5_SaIS5_EEEENS0_10_Comp_projINS_4lessEMS5_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEEEvT_SK_SK_T0_"); ++#endif ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_"); ++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++asm (".hidden _ZGVNSt8__format11_ChronoDataIcE7_S_argsE"); --- libstdc++-v3/src/nonshared20/sstream-inst80.cc.jj 2026-05-27 14:24:38.182736120 +0200 +++ libstdc++-v3/src/nonshared20/sstream-inst80.cc 2026-05-29 13:49:44.515616477 +0200 @@ -0,0 +1,34 @@ @@ -5392,7 +5458,7 @@ +//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm"); --- libstdc++-v3/src/nonshared20/Makefile.am.jj 2026-05-27 14:24:38.182822857 +0200 +++ libstdc++-v3/src/nonshared20/Makefile.am 2026-05-29 12:21:39.197030181 +0200 -@@ -0,0 +1,140 @@ +@@ -0,0 +1,144 @@ +## Makefile for the C++20 sources of the GNU C++ Standard library. +## +## Copyright (C) 1997-2026 Free Software Foundation, Inc. @@ -5437,7 +5503,7 @@ +sources = atomic.cc clock.cc syncbuf.cc +sources80 = format.cc tzdb80.cc $(sources) +sources110 = format.cc tzdb110.cc $(sources) -+sources140 = format140.cc $(sources) ++sources140 = format140.cc tzdb140.cc $(sources) + +vpath % $(top_srcdir)/src/nonshared20 + @@ -5456,6 +5522,10 @@ + $(LTCXXCOMPILE) -I. -c $< +tzdb110.o: tzdb110.cc tzdata.zi.h + $(CXXCOMPILE) -I. -c $< ++tzdb140.lo: tzdb140.cc tzdata.zi.h ++ $(LTCXXCOMPILE) -I. -c $< ++tzdb140.o: tzdb140.cc tzdata.zi.h ++ $(CXXCOMPILE) -I. -c $< +endif + +# This needs access to std::text_encoding and to the internals of std::locale. @@ -5711,7 +5781,7 @@ +asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE"); --- libstdc++-v3/src/nonshared20/Makefile.in.jj 2026-05-27 14:24:38.183178662 +0200 +++ libstdc++-v3/src/nonshared20/Makefile.in 2026-05-29 12:29:43.479566389 +0200 -@@ -0,0 +1,810 @@ +@@ -0,0 +1,814 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + @@ -5850,7 +5920,7 @@ +am__v_lt_0 = --silent +am__v_lt_1 = +libnonshared20convenience140_la_LIBADD = -+am__objects_4 = format140.lo $(am__objects_1) ++am__objects_4 = format140.lo tzdb140.lo $(am__objects_1) +am_libnonshared20convenience140_la_OBJECTS = $(am__objects_4) \ + $(am__objects_3) +libnonshared20convenience140_la_OBJECTS = \ @@ -6175,7 +6245,7 @@ +sources = atomic.cc clock.cc syncbuf.cc +sources80 = format.cc tzdb80.cc $(sources) +sources110 = format.cc tzdb110.cc $(sources) -+sources140 = format140.cc $(sources) ++sources140 = format140.cc tzdb140.cc $(sources) +libnonshared20convenience80_la_SOURCES = $(sources80) $(inst_sources80) $(inst_sources) +libnonshared20convenience110_la_SOURCES = $(sources110) $(inst_sources) +libnonshared20convenience140_la_SOURCES = $(sources140) $(inst_sources) @@ -6508,6 +6578,10 @@ +@USE_STATIC_TZDATA_TRUE@ $(LTCXXCOMPILE) -I. -c $< +@USE_STATIC_TZDATA_TRUE@tzdb110.o: tzdb110.cc tzdata.zi.h +@USE_STATIC_TZDATA_TRUE@ $(CXXCOMPILE) -I. -c $< ++@USE_STATIC_TZDATA_TRUE@tzdb140.lo: tzdb140.cc tzdata.zi.h ++@USE_STATIC_TZDATA_TRUE@ $(LTCXXCOMPILE) -I. -c $< ++@USE_STATIC_TZDATA_TRUE@tzdb140.o: tzdb140.cc tzdata.zi.h ++@USE_STATIC_TZDATA_TRUE@ $(CXXCOMPILE) -I. -c $< + +# This needs access to std::text_encoding and to the internals of std::locale. +format.lo: format.cc @@ -6656,7 +6730,7 @@ +#endif --- libstdc++-v3/src/nonshared20/clock.cc.jj 2026-05-28 17:33:50.173914672 +0200 +++ libstdc++-v3/src/nonshared20/clock.cc 2026-05-29 14:27:00.177282199 +0200 -@@ -0,0 +1,40 @@ +@@ -0,0 +1,41 @@ +// std::chrono::tai_clock, gps_clock + +// Copyright (C) 2021-2026 Free Software Foundation, Inc. @@ -6687,14 +6761,15 @@ +// P0355R7 + +#include "../c++20/clock.cc" -+asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++//asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); +#ifndef __i386__ -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +#endif +#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) +asm (".hidden _ZNSt6chrono8__detail22__get_leap_second_infoENS_10time_pointINS_3_V212system_clockENS_8durationIxSt5ratioILx1ELx1EEEEEEb"); -+#else ++#endif ++#ifdef __x86_64__ +asm (".hidden _ZNSt6chrono8__detail22__get_leap_second_infoENS_10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1EEEEEEb"); +#endif --- libstdc++-v3/src/nonshared20/syncbuf.cc.jj 2026-05-29 11:33:27.293719312 +0200 @@ -6727,7 +6802,7 @@ +#include "../c++20/syncbuf.cc" --- libstdc++-v3/src/nonshared20/format-inst.cc.jj 2026-05-29 12:21:56.785794864 +0200 +++ libstdc++-v3/src/nonshared20/format-inst.cc 2026-05-29 15:47:17.971961538 +0200 -@@ -0,0 +1,232 @@ +@@ -0,0 +1,237 @@ +// Definitions for -*- C++ -*- + +// Copyright The GNU Toolchain Authors. @@ -6755,13 +6830,17 @@ +#include "../c++20/format-inst.cc" +#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) +asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_"); -+asm (".hidden _ZNSt8__detail13__to_chars_16ImEESt15to_chars_resultPcS2_T_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE22__resize_and_overwriteIZNKSt8__format14__formatter_fpIwE11_M_localizeESt17basic_string_viewIwS2_EciRKSt6localeEUlPwmE_EEvmT_"); +#else +asm (".hidden _ZNSt8__detail18__to_chars_10_implImEEvPcjT_"); +#endif +#if defined(__x86_64__) -+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE22__resize_and_overwriteIZNKSt8__format14__formatter_fpIwE11_M_localizeESt17basic_string_viewIwS2_EcRKSt6localeEUlPwmE_EEvmT_"); ++asm (".hidden _ZNSt8__format15__parse_integerIwEESt4pairItPKT_ES4_S4_"); ++asm (".hidden _ZNSt8__detail13__to_chars_16ImEESt15to_chars_resultPcS2_T_"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE22__resize_and_overwriteIZNKSt8__format14__formatter_fpIwE11_M_localizeESt17basic_string_viewIwS2_EcRKSt6localeEUlPwmE_EEvmT_"); +asm (".hidden _ZNSt8__detail13__to_chars_16IjEESt15to_chars_resultPcS2_T_"); ++asm (".hidden _ZNKSt8__format15__formatter_strIcE6formatINS_10_Sink_iterIcEEEET_St17basic_string_viewIcSt11char_traitsIcEERSt20basic_format_contextIS5_cE"); ++asm (".hidden _ZNKSt8__format15__formatter_strIwE6formatINS_10_Sink_iterIwEEEET_St17basic_string_viewIwSt11char_traitsIwEERSt20basic_format_contextIS5_wE"); +#endif +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv"); +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_replace_coldEPcmPKcmm"); @@ -6793,20 +6872,21 @@ +asm (".hidden _ZNSt8__format29__failed_to_parse_format_specEv"); +asm (".hidden _ZNSt8__detail18__to_chars_10_implIjEEvPcjT_"); +asm (".hidden _ZNSt8__detail18__to_chars_10_implIyEEvPcjT_"); -+asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE8_M_visitIZNS1_15__do_vformat_toIcLj1EEENS2_IT_EES9_St17basic_string_viewIS8_St11char_traitsIS8_EERS0_IS9_S8_EEUlRS8_E_EEDcOS8_NS1_6_Arg_tE"); ++//asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE8_M_visitIZNS1_15__do_vformat_toIcLj1EEENS2_IT_EES9_St17basic_string_viewIS8_St11char_traitsIS8_EERS0_IS9_S8_EEUlRS8_E_EEDcOS8_NS1_6_Arg_tE"); ++asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE8_M_visitIZNS1_15__do_vformat_toIcLj1EEENS2_IT_EES9_St17basic_string_viewIS8_St11char_traitsIS8_EERS0_IS9_S8_EEUlRS8_E_EEDcOS8_"); +asm (".hidden _ZNSt8__format5_SpecIwE27_S_parse_width_or_precisionEPKwS3_RtRbRSt26basic_format_parse_contextIwE"); +asm (".hidden _ZNSt8__format5_SpecIwE14_M_parse_widthEPKwS3_RSt26basic_format_parse_contextIwE"); +asm (".hidden _ZNSt8__format15__formatter_intIwE11_M_do_parseERSt26basic_format_parse_contextIwENS_10_Pres_typeE"); +asm (".hidden _ZNSt8__format14__formatter_fpIwE5parseERSt26basic_format_parse_contextIwE"); +asm (".hidden _ZNSt8__format15__formatter_strIwE5parseERSt26basic_format_parse_contextIwE"); -+asm (".hidden _ZNSt8__format15__formatter_ptrIwE5parseERSt26basic_format_parse_contextIwENS_10_Pres_typeE"); ++asm (".hidden _ZNSt8__format15__formatter_ptrIwE5parseERSt26basic_format_parse_contextIwE"); +asm (".hidden _ZNSt8__format5_SinkIcE8_M_writeESt17basic_string_viewIcSt11char_traitsIcEE"); +asm (".hidden _ZNSt8__format19_Formatting_scannerINS_10_Sink_iterIcEEcE11_M_on_charsEPKc"); +//asm (".hidden _ZNSt8__format5_SinkIwE8_M_writeEw"); +asm (".hidden _ZNSt8__format5_SpecIcE27_S_parse_width_or_precisionEPKcS3_RtRbRSt26basic_format_parse_contextIcE"); +asm (".hidden _ZNSt8__format14__formatter_fpIcE5parseERSt26basic_format_parse_contextIcE"); +asm (".hidden _ZNSt8__format15__formatter_strIcE5parseERSt26basic_format_parse_contextIcE"); -+asm (".hidden _ZNSt8__format15__formatter_ptrIcE5parseERSt26basic_format_parse_contextIcENS_10_Pres_typeE"); ++asm (".hidden _ZNSt8__format15__formatter_ptrIcE5parseERSt26basic_format_parse_contextIcE"); +asm (".hidden _ZNSt8__format15__formatter_intIcE11_M_do_parseERSt26basic_format_parse_contextIcENS_10_Pres_typeE"); +//asm (".hidden _ZNSt8__format5_SinkIcE8_M_writeEc"); +asm (".hidden _ZNKSt8__format14__formatter_fpIcE6formatIfNS_10_Sink_iterIcEEEENSt20basic_format_contextIT0_cE8iteratorET_RS7_"); @@ -6932,9 +7012,10 @@ +asm (".hidden _ZNKSt8__format15__formatter_intIwE6formatImNS_10_Sink_iterIwEEEENSt20basic_format_contextIT0_wE8iteratorET_RS7_"); +asm (".hidden _ZNKSt8__format15__formatter_intIwE6formatInNS_10_Sink_iterIwEEEENSt20basic_format_contextIT0_wE8iteratorET_RS7_"); +asm (".hidden _ZNKSt8__format15__formatter_intIwE6formatIoNS_10_Sink_iterIwEEEENSt20basic_format_contextIT0_wE8iteratorET_RS7_"); -+asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE8_M_visitIZNS1_19_Formatting_scannerIS3_cE13_M_format_argEmEUlRT_E_EEDcOS9_NS1_6_Arg_tE"); -+asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIwEEwEE8_M_visitIZNS1_19_Formatting_scannerIS3_wE13_M_format_argEmEUlRT_E_EEDcOS9_NS1_6_Arg_tE"); ++//asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE8_M_visitIZNS1_19_Formatting_scannerIS3_cE13_M_format_argEmEUlRT_E_EEDcOS9_NS1_6_Arg_tE"); ++asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIwEEwEE8_M_visitIZNS1_19_Formatting_scannerIS3_wE13_M_format_argEmEUlRT_E_EEDcOS9_"); +//asm (".hidden _ZNSt8__detail13__to_chars_16ImEESt15to_chars_resultPcS2_T_"); ++asm (".hidden _ZNSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE8_M_visitIZNS1_19_Formatting_scannerIS3_cE13_M_format_argEmEUlRT_E_EEDcOS9_"); +asm (".hidden _ZNSt8__detail18__to_chars_10_implIoEEvPcjT_"); +asm (".hidden _ZNSt8__format10__truncateIcEEmRSt17basic_string_viewIT_St11char_traitsIS2_EEm"); +asm (".hidden _ZNSt8__format10__truncateIwEEmRSt17basic_string_viewIT_St11char_traitsIS2_EEm"); @@ -6944,7 +7025,6 @@ +asm (".hidden _ZNSt8__format13_Padding_sinkINS_10_Sink_iterIwEEwE7_M_bumpEm"); +asm (".hidden _ZNSt8__format14__write_paddedINS_10_Sink_iterIcEEcEET_S3_St17basic_string_viewIT0_St11char_traitsIS5_EENS_6_AlignEmDi"); +asm (".hidden _ZNSt8__format14__write_paddedINS_10_Sink_iterIwEEwEET_S3_St17basic_string_viewIT0_St11char_traitsIS5_EENS_6_AlignEmDi"); -+//asm (".hidden _ZNSt8__format15__parse_integerIwEESt4pairItPKT_ES4_S4_"); +asm (".hidden _ZNSt8__format19_Formatting_scannerINS_10_Sink_iterIcEEcE13_M_format_argEm"); +asm (".hidden _ZNSt8__format19_Formatting_scannerINS_10_Sink_iterIwEEwE13_M_format_argEm"); +asm (".hidden _ZNSt8__format22__write_padded_as_specIcNS_10_Sink_iterIcEEEET0_St17basic_string_viewINSt13type_identityIT_E4typeESt11char_traitsIS8_EEmRSt20basic_format_contextIS3_S6_ERKNS_5_SpecIS6_EENS_6_AlignE"); @@ -8981,8 +9061,8 @@ +// . + +#include "../c++17/cow-fs_ops.cc" -+asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++//asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); +//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIJRKS1_EEEvDpOT_"); +//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIIRKS1_EEEvDpOT_"); @@ -9008,7 +9088,7 @@ +//asm (".hidden _ZNSs6resizeEmc"); +//asm (".hidden _ZNSt10filesystem4pathD1Ev"); +//asm (".hidden _ZNSt10filesystem4pathD2Ev"); -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +#endif +#if defined(__x86_64__) +//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); @@ -9203,7 +9283,7 @@ +//asm (".hidden _ZNSt10filesystem4path5_List5beginEv"); +//asm (".hidden _ZNSt10filesystem4path7_Parser4nextEv"); +#ifndef __i386__ -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +//asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RmT3_"); +//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw"); +//asm (".hidden _ZNSs7reserveEm"); @@ -9419,7 +9499,7 @@ +asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); +asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); +#ifndef __i386__ -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE17_M_reallocate_mapEmb"); +#endif +asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); @@ -9465,8 +9545,8 @@ +asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED1Ev"); +asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev"); +asm (".hidden _ZNSt10filesystem12do_copy_fileEPKcS1_NS_26copy_options_existing_fileEP4statS4_RSt10error_code"); -+asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++//asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); +//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIJRKS2_EEEvDpOT_"); +//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIIRKS2_EEEvDpOT_"); @@ -9802,7 +9882,7 @@ +asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); +#ifndef __i386__ +asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE17_M_reallocate_mapEmb"); -+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +#endif +#ifndef __powerpc64__ +asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev"); diff --git a/gcc16-libstdc++-docs.patch b/gcc16-libstdc++-docs.patch index f971627..65f5a03 100644 --- a/gcc16-libstdc++-docs.patch +++ b/gcc16-libstdc++-docs.patch @@ -4,7 +4,7 @@ FSF

-+ Release 16.1.1 ++ Release 16.2.1 +

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -17,7 +17,7 @@

- The API documentation, rendered into HTML, can be viewed online + The API documentation, rendered into HTML, can be viewed locally -+ for the 16.1.1 release, ++ for the 16.2.1 release, + online for each GCC release and diff --git a/gcc16-pr126667.patch b/gcc16-pr126667.patch new file mode 100644 index 0000000..f7548f6 --- /dev/null +++ b/gcc16-pr126667.patch @@ -0,0 +1,47 @@ +2026-08-06 Jakub Jelinek + + PR target/126667 + * config/s390/s390.md (usubc5): If operands[4] is + an immediate operand other than const0_rtx, force it into reg + before using it in xor3 insn. + + * gcc.dg/pr126667.c: New test. + * gcc.target/s390/pr126667.c: New test. + +--- gcc/config/s390/s390.md.jj 2026-08-06 10:24:00.121415450 +0200 ++++ gcc/config/s390/s390.md 2026-08-06 13:36:37.344210259 +0200 +@@ -6745,7 +6745,9 @@ (define_expand "usubc5" + else + { + rtx tmp = gen_reg_rtx (mode); +- emit_insn (gen_xor3 (tmp, operands[4], const1_rtx)); ++ emit_insn (gen_xor3 (tmp, CONSTANT_P (operands[4]) ++ ? force_reg (mode, operands[4]) ++ : operands[4], const1_rtx)); + rtx slb_cond = s390_emit_compare (mode, LEU, tmp, const0_rtx); + emit_insn (gen_sub3_slb_borrow1_cc (operands[0], operands[2], operands[3], slb_cond)); + } +--- gcc/testsuite/gcc.dg/pr126667.c.jj 2026-08-06 13:37:24.743970575 +0200 ++++ gcc/testsuite/gcc.dg/pr126667.c 2026-08-06 13:37:18.352048196 +0200 +@@ -0,0 +1,9 @@ ++/* PR target/126667 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++unsigned long ++foo (unsigned long x, unsigned long y, unsigned long *p) ++{ ++ return __builtin_subcl (x, y, 1UL, p); ++} +--- gcc/testsuite/gcc.target/s390/pr126667.c.jj 2026-08-06 13:37:50.592656684 +0200 ++++ gcc/testsuite/gcc.target/s390/pr126667.c 2026-08-06 13:38:11.096407697 +0200 +@@ -0,0 +1,9 @@ ++/* PR target/126667 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -march=z14" } */ ++ ++unsigned long ++foo (unsigned long x, unsigned long y, unsigned long *p) ++{ ++ return __builtin_subcl (x, y, 1UL, p); ++} diff --git a/sources b/sources index 486241a..6571421 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-16.1.1-20260703.tar.xz) = a1a3d9f260d2e34004b060b622de276968dc4b5d68e78c7c4990dccd83001a2117457f2d86fdb4f71711b4dc072ee584f2c313557233348664dfa521bc3768f3 +SHA512 (gcc-16.2.1-20260807.tar.xz) = 5bb60a3172a7c2bfe8723e683b3621f8faabe97e1d5b4ef716e63e9a6e92e16870881661d14eb085af5d4bfe72f0a6b3f866479c9d7133957c0b15d78b35bd19 SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95 SHA512 (newlib-cygwin-d35cc82b5ec15bb8a5fe0fe11e183d1887992e99.tar.xz) = ef9495745a96d1d76f9f425c4a48c807fface36a1aa92351c5d024103678d144d046e8de55d195103784472c14874e29e4b9284d5d6a2e7bb27fd98c8455a881 SHA512 (nvptx-tools-212da2e781ed0f9423824e85eb04819958513f7a.tar.xz) = 5a5509b0513843254ee2be277e0b8d4733f643b74b98c739e82872181a2c366b9b43de9e5fb505aa1e9967a382da59cab015f63011cbcb5972971f2160870f00