16.1.1-4
Resolves: RHEL-169581
This commit is contained in:
parent
7ff936cf55
commit
6994e6cffa
@ -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 <polacek@redhat.com> 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 <polacek@redhat.com> 16.1.1-3
|
||||
- new package (RHEL-169581)
|
||||
|
||||
|
||||
@ -1,152 +0,0 @@
|
||||
commit 0fba51e8f39b245a3c0c2b75dad2619ed749f320
|
||||
Author: Jonathan Wakely <jwakely@redhat.com>
|
||||
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<typename T1, typename T2>
|
||||
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 <stddef.h>
|
||||
int main()
|
||||
{
|
||||
Loading…
Reference in New Issue
Block a user