Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gcc16 for openSUSE:Factory checked in at 2026-04-11 23:13:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc16 (Old) and /work/SRC/openSUSE:Factory/.gcc16.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc16" Sat Apr 11 23:13:31 2026 rev:3 rq:1345505 version:16.0.1+git8410 Changes: -------- --- /work/SRC/openSUSE:Factory/gcc16/gcc16.changes 2026-03-20 21:19:27.776646891 +0100 +++ /work/SRC/openSUSE:Factory/.gcc16.new.21863/gcc16.changes 2026-04-11 23:13:33.752331661 +0200 @@ -1,0 +2,25 @@ +Thu Apr 2 09:31:28 UTC 2026 - Richard Biener <[email protected]> + +- Only package version suffixed binaries in %gcc_libc_bootstrap + packages, drop LTO related tools from them. This makes them + co-installable between different GCC versions. +- Going forward no longer register alternatives via update-alternatives + for %gcc_libc_bootstrap packages, even on older distros. + +------------------------------------------------------------------- +Thu Apr 2 07:44:27 UTC 2026 - Richard Biener <[email protected]> + +- Update to 16.0.1+git8410 + +------------------------------------------------------------------- +Thu Mar 19 12:25:52 UTC 2026 - Richard Biener <[email protected]> + +- Avoid conflicts between %gcc_libc_bootstrap packages of different + versions if update-alternatives are still in use (SLE 15 and older) + +------------------------------------------------------------------- +Thu Mar 19 12:01:28 UTC 2026 - Richard Biener <[email protected]> + +- Wipe all icecream backend build support from the spec file. + +------------------------------------------------------------------- Old: ---- gcc-16.0.1+git8152.tar.xz New: ---- gcc-16.0.1+git8410.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-aarch64-gcc16-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.3heAUa/_old 2026-04-11 23:13:37.492486078 +0200 +++ /var/tmp/diff_new_pack.3heAUa/_new 2026-04-11 23:13:37.492486078 +0200 @@ -91,22 +91,18 @@ %endif %endif -%if 0%{?gcc_icecream:1} -%define sysroot %{_prefix}/%{gcc_target_arch} -%else # offloading builds newlib in-tree and can install in # the GCC private path without extra sysroot %if 0%{!?gcc_accel:1} # use same sysroot as in binutils.spec %define sysroot %{_prefix}/%{binutils_os}/sys-root %endif -%endif Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 16.0.1+git8152 +Version: 16.0.1+git8410 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -196,7 +192,6 @@ %ifarch ia64 BuildRequires: libunwind-devel %endif -%if 0%{!?gcc_icecream:1} %if 0%{!?gcc_libc_bootstrap:1} %if 0%{?gcc_target_newlib:1} %if !0%{?is_opensuse} @@ -224,7 +219,6 @@ BuildRequires: cross-%cross_arch-glibc-devel %requires_ge cross-%cross_arch-glibc-devel %endif -%endif %if "%{cross_arch}" == "nvptx" BuildRequires: nvptx-tools Requires: cross-nvptx-newlib-devel >= %{version}-%{release} @@ -260,7 +254,7 @@ ExcludeArch: %{cross_arch} %endif %endif -%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1} +%if 0%{?gcc_libc_bootstrap:1} %if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64" ExclusiveArch: do-not-build %else @@ -279,10 +273,14 @@ # 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. +%if 0%{!?gcc_libc_bootstrap:1} Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +%endif +%if 0%{!?gcc_libc_bootstrap:1} Conflicts: %{pkgname}-bootstrap %endif +%endif #!BuildIgnore: gcc-PIE %if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so @@ -300,10 +298,6 @@ %description The GNU Compiler Collection as a cross-compiler targeting %{cross_arch}. -%if 0%{?gcc_icecream:1} -Note this is only useful for building freestanding things like the -kernel since it fails to include target libraries and headers. -%endif %if 0%{?gcc_libc_bootstrap:1} This is a package that is necessary for bootstrapping another package only, it is not intended for any other use. @@ -767,20 +761,7 @@ export QEMU_STACK_SIZE=64M %endif -%if 0%{!?gcc_icecream:1} make %{?make_output_sync} %{?_smp_mflags} -%else -make %{?make_output_sync} %{?_smp_mflags} all-host -%endif - -%if 0%{?gcc_icecream:%gcc_icecream} -%package -n cross-%cross_arch-gcc16-icecream-backend -Summary: Icecream backend for the GNU C Compiler -Group: Development/Languages/C and C++ - -%description -n cross-%cross_arch-gcc16-icecream-backend -This package contains the icecream environment for the GNU C Compiler -%endif %if 0%{?nvptx_newlib:1} %package -n cross-nvptx-newlib16-devel @@ -825,9 +806,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a # install and fixup target parts -%if 0%{?gcc_icecream:1} -# so expect the sysroot to be populated from natively built binaries -%else # We want shared libraries to reside in the sysroot but the .so symlinks # on the host. Once we have a cross target that has shared libs we need # to manually fix up things here like we do for non-cross compilers @@ -844,7 +822,6 @@ # And also remove installed pretty printers which conflict in similar ways rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc%{binsuffix} %endif -%endif %if 0%{?binutils_os:1} for prog in as ld; do @@ -886,54 +863,20 @@ ln -s %{_prefix}/amdgcn-amdhsa/bin/ranlib $RPM_BUILD_ROOT%{_prefix}/bin/amdgcn-amdhsa-ranlib %endif -%if 0%{?gcc_icecream:%gcc_icecream} -# Build an icecream environment -# The assembler comes from the cross-binutils, and hence is _not_ -# named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/%{binutils_os}-as \ - $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \ - $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \ - $RPM_BUILD_ROOT/env/usr/bin/gcc - -for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \ - $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back -done -if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so -fi - -# Make sure to also pull in all shared library requirements for the -# binaries we put into the environment which is operated by chrooting -# into it and execing the compiler -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ - ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ -done | sort -u ` -for lib in $libs; do - # Check wether the same library also exists in the parent directory, - # and prefer that on the assumption that it is a more generic one. - baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` - test -f "$baselib" && lib=$baselib - install -s -D $lib $RPM_BUILD_ROOT/env$lib -done - -cd $RPM_BUILD_ROOT/env -tar --no-recursion --mtime @${SOURCE_DATE_EPOCH:-$(date +%s)} --format=gnu -cv `find *|LC_ALL=C sort` |\ - gzip -n9 > ../%{name}_%{_arch}.tar.gz -cd .. -mkdir -p usr/share/icecream-envs -mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs -rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc -rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils -rm -r env +# for the -bootstrap compilers only keep versioned gcc and cpp binaries +# so they are co-installable +%if 0%{?gcc_libc_bootstrap:1} +mv $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-cpp $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc-ar +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc-nm +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-lto-dump %endif # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 +%if 0%{!?gcc_accel:1} && 0%{!?gcc_libc_bootstrap:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -988,6 +931,10 @@ %{_prefix}/bin/amdgcn-amdhsa-ranlib %endif %else +%if 0%{?gcc_libc_bootstrap:1} +%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} +%else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} %if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} @@ -996,7 +943,7 @@ %{_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 "%{cross_arch}" != "bpf" %if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} @@ -1019,7 +966,7 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-lto-dump -%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if "%{cross_arch}" != "bpf" %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool @@ -1034,7 +981,6 @@ %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++ %endif @@ -1044,16 +990,10 @@ %dir %{_libdir}/gcc/%{gcc_target_arch} %{targetlibsubdir} %endif -%if 0%{!?gcc_icecream:1} && 0%{!?gcc_libc_bootstrap:1} && 0%{?sysroot:1} +%if 0%{!?gcc_libc_bootstrap:1} && 0%{?sysroot:1} %{sysroot} %endif -%if 0%{?gcc_icecream:%gcc_icecream} -%files -n cross-%cross_arch-gcc16-icecream-backend -%defattr(-,root,root) -/usr/share/icecream-envs -%endif - %if 0%{?nvptx_newlib:1} %files -n cross-nvptx-newlib16-devel %defattr(-,root,root) cross-aarch64-gcc16.spec: same change cross-amdgcn-gcc16.spec: same change cross-arm-gcc16.spec: same change cross-arm-none-gcc16-bootstrap.spec: same change cross-arm-none-gcc16.spec: same change cross-avr-gcc16-bootstrap.spec: same change cross-avr-gcc16.spec: same change cross-bpf-gcc16.spec: same change cross-hppa-gcc16-bootstrap.spec: same change cross-hppa-gcc16.spec: same change cross-loongarch64-gcc16-bootstrap.spec: same change cross-loongarch64-gcc16.spec: same change cross-nvptx-gcc16.spec: same change cross-ppc64-gcc16.spec: same change cross-ppc64le-gcc16-bootstrap.spec: same change cross-ppc64le-gcc16.spec: same change cross-pru-gcc16-bootstrap.spec: same change cross-pru-gcc16.spec: same change cross-riscv64-elf-gcc16-bootstrap.spec: same change cross-riscv64-elf-gcc16.spec: same change cross-riscv64-gcc16-bootstrap.spec: same change cross-riscv64-gcc16.spec: same change cross-rx-gcc16-bootstrap.spec: same change cross-rx-gcc16.spec: same change cross-s390x-gcc16-bootstrap.spec: same change cross-s390x-gcc16.spec: same change cross-x86_64-gcc16.spec: same change ++++++ gcc16-testresults.spec ++++++ --- /var/tmp/diff_new_pack.3heAUa/_old 2026-04-11 23:13:38.552529843 +0200 +++ /var/tmp/diff_new_pack.3heAUa/_new 2026-04-11 23:13:38.556530007 +0200 @@ -245,7 +245,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 16.0.1+git8152 +Version: 16.0.1+git8410 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') gcc16.spec: same change ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.3heAUa/_old 2026-04-11 23:13:38.704536118 +0200 +++ /var/tmp/diff_new_pack.3heAUa/_new 2026-04-11 23:13:38.712536449 +0200 @@ -1,5 +1,5 @@ -mtime: 1773824877 -commit: 2a2e36f2569d9dc3182685fedc328a1f2afb7051c4896e1add189e5bdf0b9a9c +mtime: 1775727218 +commit: 054679e452ef97364be8b2c85f3d58dc6115f632ae7f843aeac5ba73194050a2 url: https://src.opensuse.org/gcc/gcc16.git revision: main ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-04-09 11:34:00.000000000 +0200 @@ -0,0 +1,4 @@ +*.obscpio +*.osc +_build.* +.pbuild diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pre_checkin.sh new/pre_checkin.sh --- old/pre_checkin.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/pre_checkin.sh 2026-04-09 11:34:00.000000000 +0200 @@ -0,0 +1,31 @@ +#!/bin/bash +# This script is called automatically during autobuild checkin. + +case $0 in + \./*) + here=$PWD + ;; + */*) + here=${0%/*} + ;; + *) + here=$PWD + ;; +esac +case ${here##*/} in + gcc*.*) + # Handle maintainance projects with .$REPO suffix + suffix=${here##*/} + suffix=${suffix%%\.*} + set ${suffix#gcc} + ;; + gcc-*) + suffix=${here##*/} + set ${suffix#*-}- + ;; + gcc[0-9]*) + suffix=${here##*/} + set ${suffix#gcc} + ;; +esac +. ${here}/change_spec ++++++ change_spec ++++++ --- /var/tmp/diff_new_pack.3heAUa/_old 2026-04-11 23:13:38.888543715 +0200 +++ /var/tmp/diff_new_pack.3heAUa/_new 2026-04-11 23:13:38.892543880 +0200 @@ -116,11 +116,7 @@ add_cross cross-avr-gcc$base_ver avr avr add_newlib_cross cross-pru-gcc$base_ver pru pru 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 %define -#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_newlib_cross cross-arm-none-gcc$base_ver arm-none arm-none-eabi #add_newlib_cross cross-epiphany-gcc$base_ver epiphany epiphany-elf #add_newlib_cross cross-nds32le-gcc$base_ver nds32le nds32le-elf ++++++ cross.spec.in ++++++ --- /var/tmp/diff_new_pack.3heAUa/_old 2026-04-11 23:13:38.984547678 +0200 +++ /var/tmp/diff_new_pack.3heAUa/_new 2026-04-11 23:13:38.988547844 +0200 @@ -68,16 +68,12 @@ %endif %endif -%if 0%{?gcc_icecream:1} -%define sysroot %{_prefix}/%{gcc_target_arch} -%else # offloading builds newlib in-tree and can install in # the GCC private path without extra sysroot %if 0%{!?gcc_accel:1} # use same sysroot as in binutils.spec %define sysroot %{_prefix}/%{binutils_os}/sys-root %endif -%endif Name: %{pkgname} # SRC-COMMON-BEGIN @@ -109,7 +105,6 @@ %ifarch ia64 BuildRequires: libunwind-devel %endif -%if 0%{!?gcc_icecream:1} %if 0%{!?gcc_libc_bootstrap:1} %if 0%{?gcc_target_newlib:1} %if !0%{?is_opensuse} @@ -137,7 +132,6 @@ BuildRequires: cross-%cross_arch-glibc-devel %requires_ge cross-%cross_arch-glibc-devel %endif -%endif %if "%{cross_arch}" == "nvptx" BuildRequires: nvptx-tools Requires: nvptx-tools @@ -173,7 +167,7 @@ ExcludeArch: %{cross_arch} %endif %endif -%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1} +%if 0%{?gcc_libc_bootstrap:1} %if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64" ExclusiveArch: do-not-build %else @@ -192,10 +186,14 @@ # 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. +%if 0%{!?gcc_libc_bootstrap:1} Provides: %{gcc_target_arch}-gcc Conflicts: %{gcc_target_arch}-gcc +%endif +%if 0%{!?gcc_libc_bootstrap:1} Conflicts: %{pkgname}-bootstrap %endif +%endif #!BuildIgnore: gcc-PIE %if %{build_cp} # The cross compiler only packages the arch specific c++ headers, so @@ -213,10 +211,6 @@ %description The GNU Compiler Collection as a cross-compiler targeting %{cross_arch}. -%if 0%{?gcc_icecream:1} -Note this is only useful for building freestanding things like the -kernel since it fails to include target libraries and headers. -%endif %if 0%{?gcc_libc_bootstrap:1} This is a package that is necessary for bootstrapping another package only, it is not intended for any other use. @@ -225,21 +219,7 @@ # BUILD-COMMON-BEGIN # BUILD-COMMON-END -%if 0%{!?gcc_icecream:1} make %{?make_output_sync} %{?_smp_mflags} -%else -make %{?make_output_sync} %{?_smp_mflags} all-host -%endif - - -%if 0%{?gcc_icecream:%gcc_icecream} -%package -n cross-%cross_arch-gcc@base_ver@-icecream-backend -Summary: Icecream backend for the GNU C Compiler -Group: Development/Languages/C and C++ - -%description -n cross-%cross_arch-gcc@base_ver@-icecream-backend -This package contains the icecream environment for the GNU C Compiler -%endif %if 0%{?nvptx_newlib:1} @@ -287,9 +267,6 @@ # install and fixup target parts -%if 0%{?gcc_icecream:1} -# so expect the sysroot to be populated from natively built binaries -%else # We want shared libraries to reside in the sysroot but the .so symlinks # on the host. Once we have a cross target that has shared libs we need # to manually fix up things here like we do for non-cross compilers @@ -306,7 +283,6 @@ # And also remove installed pretty printers which conflict in similar ways rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc%{binsuffix} %endif -%endif %if 0%{?binutils_os:1} for prog in as ld; do @@ -348,54 +324,21 @@ ln -s %{_prefix}/amdgcn-amdhsa/bin/ranlib $RPM_BUILD_ROOT%{_prefix}/bin/amdgcn-amdhsa-ranlib %endif -%if 0%{?gcc_icecream:%gcc_icecream} -# Build an icecream environment -# The assembler comes from the cross-binutils, and hence is _not_ -# named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/%{binutils_os}-as \ - $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \ - $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \ - $RPM_BUILD_ROOT/env/usr/bin/gcc - -for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \ - $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back -done -if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so -fi - -# Make sure to also pull in all shared library requirements for the -# binaries we put into the environment which is operated by chrooting -# into it and execing the compiler -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ - ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ -done | sort -u ` -for lib in $libs; do - # Check wether the same library also exists in the parent directory, - # and prefer that on the assumption that it is a more generic one. - baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` - test -f "$baselib" && lib=$baselib - install -s -D $lib $RPM_BUILD_ROOT/env$lib -done - -cd $RPM_BUILD_ROOT/env -tar --no-recursion --mtime @${SOURCE_DATE_EPOCH:-$(date +%s)} --format=gnu -cv `find *|LC_ALL=C sort` |\ - gzip -n9 > ../%{name}_%{_arch}.tar.gz -cd .. -mkdir -p usr/share/icecream-envs -mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs -rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc -rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils -rm -r env +# for the -bootstrap compilers only keep versioned gcc and cpp binaries +# so they are co-installable +%if 0%{?gcc_libc_bootstrap:1} +mv $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-cpp $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc-ar +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc-nm +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_arch}-lto-dump %endif + # we provide update-alternatives for selecting a compiler version for # crosses -%if 0%{!?gcc_accel:1} && %{suse_version} < 1600 +%if 0%{!?gcc_accel:1} && 0%{!?gcc_libc_bootstrap:1} && %{suse_version} < 1600 mkdir -p %{buildroot}%{_sysconfdir}/alternatives for ex in gcc cpp \ %if %{build_cp} @@ -450,6 +393,10 @@ %{_prefix}/bin/amdgcn-amdhsa-ranlib %endif %else +%if 0%{?gcc_libc_bootstrap:1} +%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} +%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} +%else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} %if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} @@ -458,7 +405,7 @@ %{_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 "%{cross_arch}" != "bpf" %if %{suse_version} < 1600 %{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} @@ -481,7 +428,7 @@ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-lto-dump -%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf" +%if "%{cross_arch}" != "bpf" %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool @@ -496,7 +443,6 @@ %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++ %endif @@ -506,16 +452,10 @@ %dir %{_libdir}/gcc/%{gcc_target_arch} %{targetlibsubdir} %endif -%if 0%{!?gcc_icecream:1} && 0%{!?gcc_libc_bootstrap:1} && 0%{?sysroot:1} +%if 0%{!?gcc_libc_bootstrap:1} && 0%{?sysroot:1} %{sysroot} %endif -%if 0%{?gcc_icecream:%gcc_icecream} -%files -n cross-%cross_arch-gcc@base_ver@-icecream-backend -%defattr(-,root,root) -/usr/share/icecream-envs -%endif - %if 0%{?nvptx_newlib:1} %files -n cross-nvptx-newlib@base_ver@-devel %defattr(-,root,root) ++++++ gcc-16.0.1+git8152.tar.xz -> gcc-16.0.1+git8410.tar.xz ++++++ /work/SRC/openSUSE:Factory/gcc16/gcc-16.0.1+git8152.tar.xz /work/SRC/openSUSE:Factory/.gcc16.new.21863/gcc-16.0.1+git8410.tar.xz differ: char 15, line 1 ++++++ gcc.obsinfo ++++++ --- /var/tmp/diff_new_pack.3heAUa/_old 2026-04-11 23:13:39.048550321 +0200 +++ /var/tmp/diff_new_pack.3heAUa/_new 2026-04-11 23:13:39.052550486 +0200 @@ -1,5 +1,5 @@ name: gcc -version: 16.0.1+git8152 -mtime: 1773823635 -commit: 029f335b70fdeaf2301f6568b9bfe1d9b38ad41a +version: 16.0.1+git8410 +mtime: 1775115477 +commit: dc7860fb82b355be9bf5b6c5a90f8f8d68aabf91
