diff --git a/gcc-toolset-15-gcc.spec b/gcc-toolset-15-gcc.spec index b56f93f..c39233d 100644 --- a/gcc-toolset-15-gcc.spec +++ b/gcc-toolset-15-gcc.spec @@ -171,7 +171,7 @@ BuildRequires: gcc-toolset-%{gts_ver}-devel Summary: GCC version %{gcc_major} Name: %{?scl_prefix}gcc Version: %{gcc_version} -Release: %{gcc_release}%{?dist}.alma.1 +Release: %{gcc_release}.2%{?dist}.alma.1 # License notes for some of the less obvious ones: # gcc/doc/cppinternals.texi: Linux-man-pages-copyleft-2-para # isl: MIT, BSD-2-Clause @@ -252,8 +252,12 @@ 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: glibc32 /usr/lib64/libc.so %endif +%endif %ifarch ia64 BuildRequires: libunwind >= 0.98 %endif @@ -819,10 +823,12 @@ sed -i '/^GENERATE_TREEVIEW/s/YES/NO/' libstdc++-v3/doc/doxygen/user.cfg.in # Undo the broken autoconf change in recent Fedora versions export CONFIG_SITE=NONE +%if 0%{?rhel} == 10 # Work around https://issues.redhat.com/browse/RHEL-49348 %ifarch ppc64le export GLIBC_TUNABLES=glibc.cpu.hwcaps=-arch_3_1 %endif +%endif CC=gcc CXX=g++ @@ -1033,7 +1039,9 @@ CONFIGURE_OPTS="\ %if 0%{?rhel} >= 7 %if 0%{?rhel} > 7 %if 0%{?rhel} > 8 -%if 0%{?rhel} >= 9 +%if 0%{?rhel} >= 10 + --with-arch=z14 --with-tune=z16 \ +%elif 0%{?rhel} >= 9 --with-arch=z14 --with-tune=z15 \ %else --with-arch=z13 --with-tune=arch13 \ @@ -1077,6 +1085,9 @@ CONFIGURE_OPTS="\ %ifnarch %{arm} --with-build-config=bootstrap-lto --enable-link-serialization=1 \ %endif +%endif +%if 0%{?rhel:1} + --enable-host-pie --enable-host-bind-now \ %endif " @@ -1094,20 +1105,6 @@ make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now profiledbootstrap %endif -echo '/* GNU ld script - Use the shared library, but some functions are only in - the static library, so try that secondarily. */ -%{oformat} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared%{nonsharedver} )' \ - > %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_system.so - -%if 0 -# Relink libcc1 against -lstdc++_nonshared: -sed -i -e '/^postdeps/s/-lstdc++/-lstdc++_system/' libcc1/libtool -rm -f libcc1/libcc1.la -make -C libcc1 libcc1.la -%endif - CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`" CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`" @@ -1490,11 +1487,18 @@ echo '/* GNU ld script */ %{oformat} INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so +%define libstdcxx_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 +%define libstdcxx_so_link INPUT ( %{libstdcxx_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx_so}) ) +%define libstdcxx64_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 +%define libstdcxx64_so_link INPUT ( %{libstdcxx64_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx64_so}) ) +%define libstdcxx32_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6 +%define libstdcxx32_so_link INPUT ( %{libstdcxx32_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx32_so}) ) + echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' > libstdc++.so +%{libstdcxx_so_link}' > libstdc++.so rm -f libgfortran.so echo '/* GNU ld script Use the shared library, but some functions are only in @@ -1590,7 +1594,7 @@ echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 -lstdc++_nonshared )' > 64/libstdc++.so +%{libstdcxx64_so_link}' > 64/libstdc++.so rm -f 64/libgfortran.so echo '/* GNU ld script Use the shared library, but some functions are only in @@ -1678,7 +1682,7 @@ echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6 -lstdc++_nonshared )' > 32/libstdc++.so +%{libstdcxx32_so_link}' > 32/libstdc++.so rm -f 32/libgfortran.so echo '/* GNU ld script Use the shared library, but some functions are only in @@ -1985,7 +1989,7 @@ echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' \ +%{libstdcxx_so_link}' \ > %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \ %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared.a @@ -2887,11 +2891,19 @@ fi %endif %changelog -* Thu Jun 12 2025 Eduard Abdullin - 15.1.1-2.alma.1 +* Fri Jun 13 2025 Eduard Abdullin - 15.1.1-2.2.alma.1 - Change to almalinux bugtracker - Set --with-arch_64=x86-64-v2 on v2 arch - Use glibc32 instead of /usr/lib/libc.so as BuildRequires +* Thu Jun 12 2025 Siddhesh Poyarekar 15.1.1-2.2 +- Tune for z16 on s390x by default on RHEL10 and later (RHEL-94282) +- Add AS_NEEDED libstdc++.so.6 when only needed through libstdc++_nonshared + (RHEL-84680) + +* Fri Jun 6 2025 Marek Polacek 15.1.1-2.1 +- configure with --enable-host-pie --enable-host-bind-now (RHEL-95595) + * Wed May 21 2025 Marek Polacek 15.1.1-2 - update from releases/gcc-15 branch - PRs ada/112958, ada/120104, c/120057, c++/119863, c++/119864, c++/119938,