Additional fixes

Use %{_arch}.  Fix libstdc++-compat symbols.  Skip OpenACC tests
on s390x as well.

Resolves: RHEL-29853
This commit is contained in:
Marek Polacek 2024-08-02 10:09:32 -04:00
parent 2fd5621d88
commit 571c60da69
2 changed files with 56 additions and 18 deletions

View File

@ -2,8 +2,8 @@
%global scl_prefix gcc-toolset-14-
BuildRequires: scl-utils-build
%global __python /usr/bin/python3
#%{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
#%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
%{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
%{?scl:%scl_package gcc}
%global DATE 20240701
%global gitrev 6eada54ba865eeb9aabfcfbc106c3fbff7abe98a
@ -203,11 +203,8 @@ URL: http://gcc.gnu.org
# Need binutils which support -plugin
# Need binutils which support .loc view >= 2.30
# Need binutils which support --generate-missing-build-notes=yes >= 2.31
# XXX
#BuildRequires: %{?scl_prefix}binutils >= 2.31
#BuildRequires: %{?scl_prefix}gdb >= 7.4.50
BuildRequires: binutils >= 2.31
BuildRequires: gdb >= 7.4.50
BuildRequires: %{?scl_prefix}binutils >= 2.31
BuildRequires: %{?scl_prefix}gdb >= 7.4.50
# While gcc doesn't include statically linked binaries, during testing
# -static is used several times.
BuildRequires: glibc-static
@ -768,7 +765,7 @@ fi
rm -f gcc/testsuite/go.test/test/chan/goroutines.go
# These tests get stuck and don't timeout.
%ifarch ppc ppc64 ppc64le
%ifarch ppc ppc64 ppc64le s390x
rm -f libgomp/testsuite/libgomp.c/target-*.c
rm -rf libgomp/testsuite/libgomp.oacc*
rm -rf libgomp/testsuite/libgomp.graphite*
@ -1883,7 +1880,7 @@ chmod 755 %{buildroot}%{_prefix}/bin/%{multilib_32_arch}-%{_vendor}-%{_target_os
%endif
# Help plugins find out nvra.
echo gcc-%{version}-%{release}.%{arch} > $FULLPATH/rpmver
echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver
# Add symlink to lto plugin in the binutils plugin directory.
%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/

View File

@ -4369,7 +4369,7 @@
+#endif
--- libstdc++-v3/src/nonshared20/tzdb110.cc.jj 2024-07-19 14:20:09.597439460 +0200
+++ libstdc++-v3/src/nonshared20/tzdb110.cc 2024-07-19 15:44:37.305875058 +0200
@@ -0,0 +1,27 @@
@@ -0,0 +1,33 @@
+// Copyright The GNU Toolchain Authors.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@ -4397,6 +4397,12 @@
+asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev");
+asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev");
+asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev");
+#ifndef __i386__
+asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_");
+#endif
+#ifdef __i386__
+asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_");
+#endif
--- libstdc++-v3/src/nonshared20/sstream-inst80.cc.jj 2024-07-18 16:10:38.335406635 +0200
+++ libstdc++-v3/src/nonshared20/sstream-inst80.cc 2024-07-19 11:02:28.274530997 +0200
@@ -0,0 +1,34 @@
@ -4563,7 +4569,7 @@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
--- libstdc++-v3/src/nonshared20/tzdb80.cc.jj 2024-07-18 16:10:38.336406622 +0200
+++ libstdc++-v3/src/nonshared20/tzdb80.cc 2024-07-19 15:44:33.397924595 +0200
@@ -0,0 +1,128 @@
@@ -0,0 +1,130 @@
+// Copyright The GNU Toolchain Authors.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@ -4621,7 +4627,9 @@
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_");
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_");
+asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono9time_zoneEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_");
+#ifndef __s390x__
+asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_");
+#endif
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_");
+asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono14time_zone_linkEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_");
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_");
@ -7414,9 +7422,25 @@
#ifdef FLOAT128_TO_CHARS
#ifdef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT
@@ -1907,6 +1909,7 @@ __to_chars_bfloat16_t(char* first, char*
floating_type_bfloat16_t{ value }, fmt);
}
+#ifndef _GLIBCXX_NONSHARED_CXX11_110
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
// Map the -mlong-double-64 long double overloads to the double overloads.
extern "C" to_chars_result
@@ -1923,6 +1926,7 @@ _ZSt8to_charsPcS_eSt12chars_formati(char
chars_format fmt, int precision) noexcept
__attribute__((alias ("_ZSt8to_charsPcS_dSt12chars_formati")));
#endif
+#endif
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
--- libstdc++-v3/src/nonshared17/floating_from_chars.cc.jj 2024-07-18 16:10:38.337406609 +0200
+++ libstdc++-v3/src/nonshared17/floating_from_chars.cc 2024-07-19 15:49:16.875331046 +0200
@@ -0,0 +1,49 @@
@@ -0,0 +1,51 @@
+// Copyright (C) 2019-2024 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@ -7461,14 +7485,16 @@
+#endif
+#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj");
+#else
+#elif !defined(__s390x__) && !defined(__aarch64__)
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm");
+#endif
+asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE");
+#if !defined(__s390x__)
+asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i");
+#endif
--- libstdc++-v3/src/nonshared17/floating_from_chars110.cc.jj 2024-07-18 16:10:38.337406609 +0200
+++ libstdc++-v3/src/nonshared17/floating_from_chars110.cc 2024-07-19 15:34:35.820500123 +0200
@@ -0,0 +1,36 @@
@@ -0,0 +1,45 @@
+// Copyright (C) 2019-2024 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@ -7499,12 +7525,21 @@
+#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj");
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEjjPKcj");
+#else
+#elif !defined(__s390x__) && !defined(__aarch64__)
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm");
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm");
+asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i");
+#endif
+asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE");
+#if defined(__powerpc64__)
+asm (".hidden _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format");
+asm (".hidden _ZSt8to_charsPcS_u9__ieee128");
+asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_format");
+asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_formati");
+#endif
+#if defined(__aarch64__)
+asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i");
+#endif
--- libstdc++-v3/src/nonshared17/cow-fs_ops.cc.jj 2024-07-18 16:10:38.337406609 +0200
+++ libstdc++-v3/src/nonshared17/cow-fs_ops.cc 2024-07-19 15:47:53.954382206 +0200
@@ -0,0 +1,82 @@
@ -9507,7 +9542,7 @@
+#else
+asm (".hidden _ZNSt8__detail18__to_chars_10_implImEEvPcjT_");
+#endif
+#if !defined(__i386__)
+#if !defined(__i386__) && !defined(__s390x__)
+asm (".hidden _ZSt12__to_chars_iIoESt15to_chars_resultPcS1_T_i");
+#endif
--- libstdc++-v3/src/nonshared17/cow-string-inst110.cc.jj 2024-07-18 16:10:38.339406584 +0200
@ -9627,7 +9662,7 @@
+asm (".hidden _ZN10__cxxabiv111__terminateEPFvvE");
--- libstdc++-v3/src/nonshared17/floating_to_chars110.cc.jj 2024-07-18 16:10:38.340406571 +0200
+++ libstdc++-v3/src/nonshared17/floating_to_chars110.cc 2024-07-19 15:12:46.701074973 +0200
@@ -0,0 +1,30 @@
@@ -0,0 +1,36 @@
+// Copyright (C) 2019-2024 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@ -9654,8 +9689,14 @@
+#include "../c++17/floating_to_chars.cc"
+//asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+//asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+#if !defined(__s390x__) && !defined(__aarch64__)
+asm (".hidden _ZNSt8__detail18__to_chars_10_implIjEEvPcjT_");
+#if !defined(__i386__)
+#endif
+#if defined(__s390x__)
+asm (".hidden _ZNSt8__detail14__to_chars_lenIoEEjT_i");
+asm (".hidden _ZNSt8__detail18__to_chars_10_implIoEEvPcjT_");
+#endif
+#if !defined(__i386__) && !defined(__s390x__)
+asm (".hidden _ZSt12__to_chars_iIoESt15to_chars_resultPcS1_T_i");
+#endif
--- libstdc++-v3/src/nonshared17/string-inst110.cc.jj 2024-07-18 16:10:38.340406571 +0200