Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gcc13 for openSUSE:Factory checked in at 2025-07-18 15:58:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc13 (Old) and /work/SRC/openSUSE:Factory/.gcc13.new.8875 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc13" Fri Jul 18 15:58:37 2025 rev:38 rq:1294099 version:13.4.0+git9739 Changes: -------- --- /work/SRC/openSUSE:Factory/gcc13/gcc13.changes 2025-07-06 17:08:55.833489541 +0200 +++ /work/SRC/openSUSE:Factory/.gcc13.new.8875/gcc13.changes 2025-07-18 15:59:43.729475001 +0200 @@ -1,0 +2,12 @@ +Thu Jul 17 07:20:37 UTC 2025 - Richard Biener <rguent...@suse.com> + +- Remove all %gcc_icecream mode cross-compilers and the corresponding + icecream backend subpackages. Instead use glibc-bootstrap only + configs for cross-x86_64-gcc (ipxe,ovmf,qemu), cross-ppc64-gcc (qemu) + and cross-arm-gcc (ovmf). +- Prune the use of update-alternatives from openSUSE Factory and + SLFO. +- Adjust crosses to conflict consistently where they did not + already and make them use unsuffixed binaries. + +------------------------------------------------------------------- Old: ---- cross-m68k-gcc13.spec cross-mips-gcc13.spec cross-sparc-gcc13.spec cross-sparc64-gcc13.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-aarch64-gcc13-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.297582202 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.301582369 +0200 @@ -19,6 +19,7 @@ %define pkgname cross-aarch64-gcc13-bootstrap %define cross_arch aarch64 %define gcc_target_arch aarch64-suse-linux +%define gcc_target_glibc 1 %define gcc_libc_bootstrap 1 # nospeccleaner @@ -292,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ cross-aarch64-gcc13.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.329583538 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.329583538 +0200 @@ -292,26 +292,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +585,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +597,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +862,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +887,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +895,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +961,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1017,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1040,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1052,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ cross-amdgcn-gcc13.spec: same change ++++++ cross-arm-gcc13.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.381585708 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.385585875 +0200 @@ -19,7 +19,8 @@ %define pkgname cross-arm-gcc13 %define cross_arch arm %define gcc_target_arch arm-suse-linux-gnueabi -%define gcc_icecream 1 +%define gcc_target_glibc 1 +%define gcc_libc_bootstrap 1 # nospeccleaner %define build_cp 0%{!?gcc_accel:1} @@ -292,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ cross-arm-none-gcc13-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.409586877 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.413587044 +0200 @@ -293,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -588,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -600,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -862,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -887,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -894,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -958,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1014,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1033,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1044,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ cross-arm-none-gcc13.spec: same change cross-avr-gcc13-bootstrap.spec: same change cross-avr-gcc13.spec: same change cross-bpf-gcc13.spec: same change cross-hppa-gcc13-bootstrap.spec: same change cross-nvptx-gcc13.spec: same change ++++++ cross-ppc64-gcc13.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.597594725 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.601594892 +0200 @@ -19,7 +19,8 @@ %define pkgname cross-ppc64-gcc13 %define cross_arch ppc64 %define gcc_target_arch powerpc64-suse-linux -%define gcc_icecream 1 +%define gcc_target_glibc 1 +%define gcc_libc_bootstrap 1 # nospeccleaner %define build_cp 0%{!?gcc_accel:1} @@ -292,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ cross-ppc64le-gcc13-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.629596061 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.629596061 +0200 @@ -19,6 +19,7 @@ %define pkgname cross-ppc64le-gcc13-bootstrap %define cross_arch ppc64le %define gcc_target_arch powerpc64le-suse-linux +%define gcc_target_glibc 1 %define gcc_libc_bootstrap 1 # nospeccleaner @@ -292,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ cross-ppc64le-gcc13.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.657597230 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.661597397 +0200 @@ -292,26 +292,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +585,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +597,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +862,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +887,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +895,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +961,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1017,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1040,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1052,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ cross-pru-gcc13-bootstrap.spec: same change cross-pru-gcc13.spec: same change cross-riscv64-elf-gcc13-bootstrap.spec: same change cross-riscv64-elf-gcc13.spec: same change ++++++ cross-riscv64-gcc13-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.813603742 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.813603742 +0200 @@ -19,6 +19,7 @@ %define pkgname cross-riscv64-gcc13-bootstrap %define cross_arch riscv64 %define gcc_target_arch riscv64-suse-linux +%define gcc_target_glibc 1 %define gcc_libc_bootstrap 1 # nospeccleaner @@ -292,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ cross-riscv64-gcc13.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.841604911 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.841604911 +0200 @@ -292,26 +292,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +585,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +597,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +862,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +887,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +895,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +961,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1017,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1040,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1052,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ cross-rx-gcc13-bootstrap.spec: same change cross-rx-gcc13.spec: same change ++++++ cross-s390x-gcc13-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.917608084 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.917608084 +0200 @@ -19,6 +19,7 @@ %define pkgname cross-s390x-gcc13-bootstrap %define cross_arch s390x %define gcc_target_arch s390x-suse-linux +%define gcc_target_glibc 1 %define gcc_libc_bootstrap 1 # nospeccleaner @@ -292,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ cross-s390x-gcc13.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.949609420 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.953609586 +0200 @@ -292,26 +292,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +585,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +597,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +862,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +887,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +895,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +961,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1017,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1040,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1052,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ cross-x86_64-gcc13.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:46.977610588 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:46.977610588 +0200 @@ -19,7 +19,8 @@ %define pkgname cross-x86_64-gcc13 %define cross_arch x86_64 %define gcc_target_arch x86_64-suse-linux -%define gcc_icecream 1 +%define gcc_target_glibc 1 +%define gcc_libc_bootstrap 1 # nospeccleaner %define build_cp 0%{!?gcc_accel:1} @@ -292,26 +293,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc13 %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -587,11 +586,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -599,6 +598,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ @@ -861,7 +863,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -886,6 +888,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -893,6 +896,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -957,7 +962,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -1013,15 +1018,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -1032,6 +1041,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -1043,13 +1053,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ ++++++ gcc13-testresults.spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:47.021612425 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:47.025612592 +0200 @@ -777,11 +777,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -789,6 +789,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \ gcc13.spec: same change ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:47.129616934 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:47.133617100 +0200 @@ -14,11 +14,7 @@ <flavor>cross-pru-gcc13-bootstrap</flavor> <flavor>cross-pru-gcc13</flavor> <flavor>cross-x86_64-gcc13</flavor> -<flavor>cross-sparc-gcc13</flavor> -<flavor>cross-sparc64-gcc13</flavor> <flavor>cross-ppc64-gcc13</flavor> -<flavor>cross-m68k-gcc13</flavor> -<flavor>cross-mips-gcc13</flavor> <flavor>cross-hppa-gcc13-bootstrap</flavor> <flavor>cross-arm-none-gcc13-bootstrap</flavor> <flavor>cross-arm-none-gcc13</flavor> ++++++ change_spec ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:47.153617935 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:47.157618102 +0200 @@ -87,10 +87,16 @@ } add_glibc_cross() { - add_cross $1-bootstrap $2 $3 "%define gcc_libc_bootstrap 1" + add_cross $1-bootstrap $2 $3 "%define gcc_target_glibc 1 +%define gcc_libc_bootstrap 1" add_cross $1 $2 $3 "%define gcc_target_glibc 1" } +add_glibc_bootstrap_cross() { + add_cross $1 $2 $3 "%define gcc_target_glibc 1 +%define gcc_libc_bootstrap 1" +} + # We now support "proper" cross-compilers to suse targets via a # cross-glibc package, enable that via for example # @@ -102,16 +108,16 @@ add_glibc_cross cross-riscv64-gcc$base_ver riscv64 riscv64-suse-linux add_glibc_cross cross-s390x-gcc$base_ver s390x s390x-suse-linux add_glibc_cross cross-ppc64le-gcc$base_ver ppc64le powerpc64le-suse-linux -add_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi %define gcc_icecream 1 +add_glibc_bootstrap_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi add_cross cross-avr-gcc$base_ver-bootstrap avr avr "%define gcc_libc_bootstrap 1" add_cross cross-avr-gcc$base_ver avr avr add_newlib_cross cross-pru-gcc$base_ver pru pru -add_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux %define gcc_icecream 1 -add_cross cross-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1 -add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1 -add_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux %define gcc_icecream 1 -add_cross cross-m68k-gcc$base_ver m68k m68k-suse-linux %define gcc_icecream 1 -add_cross cross-mips-gcc$base_ver mips mips-suse-linux %define gcc_icecream 1 +add_glibc_bootstrap_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux +#add_cross cross-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1 +#add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1 +add_glibc_bootstrap_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux +#add_cross cross-m68k-gcc$base_ver m68k m68k-suse-linux %define gcc_icecream 1 +#add_cross cross-mips-gcc$base_ver mips mips-suse-linux %define gcc_icecream 1 add_cross cross-hppa-gcc$base_ver-bootstrap hppa hppa-suse-linux %define gcc_libc_bootstrap 1 add_newlib_cross cross-arm-none-gcc$base_ver arm-none arm-none-eabi #add_newlib_cross cross-epiphany-gcc$base_ver epiphany epiphany-elf ++++++ cross.spec.in ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:47.229621108 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:47.233621275 +0200 @@ -195,26 +195,24 @@ %if "%pkgname" == "cross-ppc64-gcc49" Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354 %endif -%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1} || "%{cross_arch}" == "avr" +%if 0%{!?gcc_accel:1} # Generally only one cross for the same target triplet can be installed # at the same time as we are populating a non-version-specific sysroot -Provides: %{gcc_target_arch}-gcc -Conflicts: %selfconflict %{gcc_target_arch}-gcc -%endif -%if 0%{?gcc_libc_bootstrap:1} # The -bootstrap packages file-conflict with the non-bootstrap variants. # Even if we don't actually (want to) distribute the bootstrap variants # the following avoids repo-checker spamming us endlessly. +Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +Conflicts: %{pkgname}-bootstrap %endif #!BuildIgnore: gcc-PIE -%if 0%{build_cp:1} +%if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so # we need to depend on the host libstdc++ devel headers (we wouldn't need # the libs, though) Requires: libstdc++6-devel-gcc@base_ver@ %endif -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 BuildRequires: update-alternatives Requires(post): update-alternatives Requires(preun): update-alternatives @@ -307,7 +305,7 @@ mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot} make DESTDIR=$RPM_BUILD_ROOT install-target %if %{build_cp} -# So we installed libstdc++ headers into %prefix where they conflict +# So we installed libstdc++ headers into %%prefix where they conflict # with other host compilers. Rip out the non-target specific parts # again. Note not all cross targets support libstdc++, so create the # directory to make things easier. @@ -332,6 +330,7 @@ # for accelerators remove all frontends but lto1 and also install-tools %if 0%{?gcc_accel:1} rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1 +rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951 rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools @@ -339,6 +338,8 @@ # that is the place where we later search for (only) ( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - ) rm -rf $RPM_BUILD_ROOT%{targetlibsubdir} +# also remove installed libstdc++ headers +rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++ %endif # for amdgcn install the symlinks to the llvm tools # follow alternatives symlinks to the hardcoded version requirement @@ -403,7 +404,7 @@ # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} +%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -459,15 +460,19 @@ %endif %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix} +%endif %if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} +%endif %{_prefix}/bin/%{gcc_target_arch}-gcov %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool @@ -478,6 +483,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib %{_prefix}/bin/%{gcc_target_arch}-lto-dump +%if %{suse_version} < 1600 %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar @@ -489,13 +495,16 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool %endif +%endif %if %{build_cp} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-g++ +%if %{suse_version} < 1600 +%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%endif %if 0%{!?gcc_libc_bootstrap:1} %if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} %{_prefix}/include/c++ @@ -529,5 +538,5 @@ %exclude %{_prefix}/%{gcc_target_arch}/bin %endif -%changelog -n cross-%{pkgname}-gcc@base_ver@ +%changelog -n %{pkgname} ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.8MZUQb/_old 2025-07-18 15:59:47.273622945 +0200 +++ /var/tmp/diff_new_pack.8MZUQb/_new 2025-07-18 15:59:47.277623112 +0200 @@ -1591,11 +1591,11 @@ --enable-gnu-indirect-function \ %endif %endif - --program-suffix=%{binsuffix} \ %ifarch %{disable_multilib_arch} --disable-multilib \ %endif %if 0%{!?gcc_target_arch:1} + --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else @@ -1603,6 +1603,9 @@ %endif %endif %if 0%{?gcc_target_arch:1} +%if 0%{?gcc_accel:1} || %{suse_version} < 1600 + --program-suffix=%{binsuffix} \ +%endif --program-prefix=%{gcc_target_arch}- \ --target=%{gcc_target_arch} \ --disable-nls \