Hello community, here is the log from the commit of package gcc7 for openSUSE:Factory checked in at 2018-01-20 11:23:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc7 (Old) and /work/SRC/openSUSE:Factory/.gcc7.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc7" Sat Jan 20 11:23:17 2018 rev:11 rq:566443 version:7.2.1+r256737 Changes: -------- --- /work/SRC/openSUSE:Factory/gcc7/cross-aarch64-gcc7.changes 2017-11-30 12:34:07.122510992 +0100 +++ /work/SRC/openSUSE:Factory/.gcc7.new/cross-aarch64-gcc7.changes 2018-01-20 11:23:23.109706752 +0100 @@ -1,0 +2,42 @@ +Tue Jan 16 11:29:06 UTC 2018 - [email protected] + +- Update to gcc-7-branch head (r256737) + * Includes gcc7-pr81481.diff + * Adds backport of retpoline support via -mindirect-branch=, + -mfunction-return= and friends. [bnc#1074621] + +------------------------------------------------------------------- +Mon Jan 15 12:24:39 UTC 2018 - [email protected] + +- Handle new debug sources filelist variant debugsourcefiles.list. +- Prune libstdc++ includes for crosses. + +------------------------------------------------------------------- +Wed Jan 10 08:01:42 UTC 2018 - [email protected] + +- Do not install target parts of cross compilers into the sysroot + but instead fixup manually (once required). + +------------------------------------------------------------------- +Tue Jan 2 13:29:18 UTC 2018 - [email protected] + +- Update to gcc-7-branch head (r256067). +- Deal with C++ being disabled for crosses. +- For crosses that have a target triplet not matching that of binutils + create symlinks to as and ld in the GCC private directory. + +------------------------------------------------------------------- +Tue Dec 12 12:41:34 UTC 2017 - [email protected] + +- Split cross-avr into -bootstrap and non-bootstrap variant for avr-libc + integration. + +------------------------------------------------------------------- +Fri Dec 8 10:32:47 UTC 2017 - [email protected] + +- Add gcc7-avoid-fixinc-error.diff to avoid install-host aborting + on non-existing target include directory. Remove --with-build-sysroot=/ + hack from icecream cross configs, no longer prune include-fixed for + them to retain a GCC provided limits.h. Remove installed install-tools. + +------------------------------------------------------------------- cross-arm-gcc7.changes: same change New Changes file: --- /dev/null 2018-01-05 12:14:39.755488130 +0100 +++ /work/SRC/openSUSE:Factory/.gcc7.new/cross-avr-gcc7-bootstrap.changes 2018-01-20 11:23:23.973666361 +0100 @@ -0,0 +1,315 @@ +------------------------------------------------------------------- +Tue Jan 16 11:29:06 UTC 2018 - [email protected] + +- Update to gcc-7-branch head (r256737) + * Includes gcc7-pr81481.diff + * Adds backport of retpoline support via -mindirect-branch=, + -mfunction-return= and friends. [bnc#1074621] + +------------------------------------------------------------------- +Mon Jan 15 12:24:39 UTC 2018 - [email protected] + +- Handle new debug sources filelist variant debugsourcefiles.list. +- Prune libstdc++ includes for crosses. + +------------------------------------------------------------------- +Wed Jan 10 08:01:42 UTC 2018 - [email protected] + +- Do not install target parts of cross compilers into the sysroot + but instead fixup manually (once required). + +------------------------------------------------------------------- +Tue Jan 2 13:29:18 UTC 2018 - [email protected] + +- Update to gcc-7-branch head (r256067). +- Deal with C++ being disabled for crosses. +- For crosses that have a target triplet not matching that of binutils + create symlinks to as and ld in the GCC private directory. + +------------------------------------------------------------------- +Tue Dec 12 12:41:34 UTC 2017 - [email protected] + +- Split cross-avr into -bootstrap and non-bootstrap variant for avr-libc + integration. + +------------------------------------------------------------------- +Fri Dec 8 10:32:47 UTC 2017 - [email protected] + +- Add gcc7-avoid-fixinc-error.diff to avoid install-host aborting + on non-existing target include directory. Remove --with-build-sysroot=/ + hack from icecream cross configs, no longer prune include-fixed for + them to retain a GCC provided limits.h. Remove installed install-tools. + +------------------------------------------------------------------- +Thu Nov 23 09:30:47 UTC 2017 - [email protected] + +- Add gcc7-pr82248.diff to fix bogus stack probe instruction on ARM. + [bnc#1068967] + +------------------------------------------------------------------- +Fri Oct 20 11:12:53 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r253932). + * contains fix for PR82445 which is about a RPI1 bootloader + miscompile. [bnc#1061667] + +------------------------------------------------------------------- +Thu Oct 5 09:00:25 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r253435). [fate#321452, fate#321496] + [fate#323972] + * contains fix for PR82406 which blocks chromium build. +- Add gcc7-pr81481.diff to fix a register allocation issue. + [bnc#1048861] + +------------------------------------------------------------------- +Wed Sep 27 12:24:55 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r253221). + * Includes similar fix to gcc41-ppc32-retaddr.patch, disable the + patch but keep the testcase. + +------------------------------------------------------------------- +Mon Sep 25 20:22:09 UTC 2017 - [email protected] + +- Add support for zero-sized VLAs and allocas with + -fstack-clash-protection. [bnc #1059075] + Changes gcc7-stack-probe.diff. + +------------------------------------------------------------------- +Tue Aug 29 07:17:15 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r251579). + * Includes GCC 7.2 release. + * Includes gcc7-pr81766.diff and gcc7-go-sigrtmax.patch. + +------------------------------------------------------------------- +Fri Aug 25 04:40:35 UTC 2017 - [email protected] + +- Sort tar file list to make cross-* packages build reproducibly + (boo#1041090) + +------------------------------------------------------------------- +Tue Aug 8 12:38:37 UTC 2017 - [email protected] + +- Add gcc7-pr81766.diff to fix grub2 build. + +------------------------------------------------------------------- +Fri Aug 4 11:41:36 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r250819). + * Includes GCC 7.2 RC1. + * Includes fix for gcov crash. [bnc#1050487] +- Add gcc7-stack-probe.diff for support of -fstack-clash-protection + [bnc#1039513]. +- Add gcc7-go-sigrtmax.patch to fix Go build with glibc 2.26. + +------------------------------------------------------------------- +Thu Jun 29 08:54:57 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r249772). + * Includes patch for PR81080. [bnc#1044016] + * Includes patch for PR81204. [bnc#1045732] + * Includes patch for PR81112. [bnc#1043966] + +------------------------------------------------------------------- +Tue Jun 13 08:42:45 UTC 2017 - [email protected] + +- Fix cross compiler update-alternatives machinery to make rpmlint + happy. + +------------------------------------------------------------------- +Fri Jun 9 11:20:46 UTC 2017 - [email protected] + +- Update plugin enablement guard to use %sle_version. [bnc#1043590] + +------------------------------------------------------------------- +Wed Jun 7 13:18:16 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r248970). + * Includes gcc7-pr80593.patch. + +------------------------------------------------------------------- +Tue May 30 07:39:56 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r248590). +- Add #!BuildIgnore: gcc-PIE also to cross compiler builds. + +------------------------------------------------------------------- +Wed May 17 12:09:04 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r248152) +- Drop not working SLE-10 build support. +- For SLE-15 make the i586 compiler generate code for architecture + level of x86_64. +- Add gcc7-pr80593.patch to fix ceph build. [bnc#1025891] + +------------------------------------------------------------------- +Thu May 4 10:12:09 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r247545) + * Includes GCC 7.1 release +- For SLE15 change ppc64le tuning to power9. [fate#322728] +- Change tarball compression to xz, BuildRequire xz. + +------------------------------------------------------------------- +Fri Apr 28 12:26:08 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r247368) + * Includes GCC 7.1 RC2 + * Includes ARM ABI fix for PR77728, fixing ABI incompatibility + with GCC 4.8. + +------------------------------------------------------------------- +Thu Apr 20 11:17:21 UTC 2017 - [email protected] + +- Update to gcc-7-branch head (r247019). +- Always create nvptx offloading cross spec file. +- Fix libada provides/conflicts. +- Package gcov.h. +- Add #!BuildIgnore: gcc-PIE. +- Fix update-alternatives. + +------------------------------------------------------------------- +Tue Apr 4 14:44:52 UTC 2017 - [email protected] + +- Add update-alternatives for binaries produces by cross compilers. +- Add nospeccleaner comment, remove legacy norootforbuild and + icecream. + +------------------------------------------------------------------- +Fri Mar 31 08:51:09 UTC 2017 - [email protected] + +- Update to gcc trunk head (r246609). +- Add cross-binutils Requires to cross-gcc packages. + +------------------------------------------------------------------- +Mon Mar 27 14:06:43 UTC 2017 - [email protected] + +- Really fix libtsan requirement on ppc. [boo#1030623] +- Also fix liblsan requirement on pcc. + +------------------------------------------------------------------- +Thu Mar 23 09:59:21 UTC 2017 - [email protected] + +- Update to gcc trunk head (r246414). +- Package gcov-dump. +- Remove gcc7-debug-dwarf2out-ice.patch. ++++ 118 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.gcc7.new/cross-avr-gcc7-bootstrap.changes --- /work/SRC/openSUSE:Factory/gcc7/cross-avr-gcc7.changes 2017-11-30 12:34:09.806413399 +0100 +++ /work/SRC/openSUSE:Factory/.gcc7.new/cross-avr-gcc7.changes 2018-01-20 11:23:24.161657572 +0100 @@ -1,0 +2,42 @@ +Tue Jan 16 11:29:06 UTC 2018 - [email protected] + +- Update to gcc-7-branch head (r256737) + * Includes gcc7-pr81481.diff + * Adds backport of retpoline support via -mindirect-branch=, + -mfunction-return= and friends. [bnc#1074621] + +------------------------------------------------------------------- +Mon Jan 15 12:24:39 UTC 2018 - [email protected] + +- Handle new debug sources filelist variant debugsourcefiles.list. +- Prune libstdc++ includes for crosses. + +------------------------------------------------------------------- +Wed Jan 10 08:01:42 UTC 2018 - [email protected] + +- Do not install target parts of cross compilers into the sysroot + but instead fixup manually (once required). + +------------------------------------------------------------------- +Tue Jan 2 13:29:18 UTC 2018 - [email protected] + +- Update to gcc-7-branch head (r256067). +- Deal with C++ being disabled for crosses. +- For crosses that have a target triplet not matching that of binutils + create symlinks to as and ld in the GCC private directory. + +------------------------------------------------------------------- +Tue Dec 12 12:41:34 UTC 2017 - [email protected] + +- Split cross-avr into -bootstrap and non-bootstrap variant for avr-libc + integration. + +------------------------------------------------------------------- +Fri Dec 8 10:32:47 UTC 2017 - [email protected] + +- Add gcc7-avoid-fixinc-error.diff to avoid install-host aborting + on non-existing target include directory. Remove --with-build-sysroot=/ + hack from icecream cross configs, no longer prune include-fixed for + them to retain a GCC provided limits.h. Remove installed install-tools. + +------------------------------------------------------------------- cross-epiphany-gcc7-bootstrap.changes: same change cross-epiphany-gcc7.changes: same change cross-hppa-gcc7.changes: same change cross-i386-gcc7.changes: same change cross-m68k-gcc7.changes: same change cross-mips-gcc7.changes: same change cross-nvptx-gcc7.changes: same change cross-ppc64-gcc7.changes: same change cross-ppc64le-gcc7.changes: same change cross-rx-gcc7-bootstrap.changes: same change cross-rx-gcc7.changes: same change cross-s390x-gcc7.changes: same change cross-sparc-gcc7.changes: same change cross-sparc64-gcc7.changes: same change cross-x86_64-gcc7.changes: same change gcc7-testresults.changes: same change gcc7.changes: same change Old: ---- gcc-7.2.1+r253932.tar.xz gcc7-pr81481.diff New: ---- cross-avr-gcc7-bootstrap.changes cross-avr-gcc7-bootstrap.spec gcc-7.2.1+r256737.tar.xz gcc7-avoid-fixinc-error.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-aarch64-gcc7.spec ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:55.592188146 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:55.596187958 +0100 @@ -1,7 +1,7 @@ # # spec file for package cross-aarch64-gcc7 # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -78,7 +78,6 @@ %endif %if 0%{?gcc_icecream:1} -%define build_sysroot / %define sysroot %{_prefix}/%{gcc_target_arch} %else # offloading builds newlib in-tree and can install in @@ -124,6 +123,9 @@ %if 0%{?gcc_target_newlib:1} && 0%{!?gcc_libc_bootstrap:1} BuildRequires: cross-%cross_arch-newlib-devel %endif +%if 0%{!?gcc_libc_bootstrap:1} && %{cross_arch} == "avr" +BuildRequires: avr-libc +%endif %if 0%{?gcc_target_glibc:1} BuildRequires: cross-%cross_arch-glibc-devel %endif @@ -157,7 +159,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 7.2.1+r253932 +Version: 7.2.1+r256737 Release: 0 %define gcc_version %(echo %version | sed 's/+.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1) @@ -177,8 +179,8 @@ Patch10: gcc5-no-return-gcc43-workaround.patch Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch Patch12: gcc7-stack-probe.diff -Patch13: gcc7-pr81481.diff Patch14: gcc7-pr82248.diff +Patch15: gcc7-avoid-fixinc-error.diff # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -253,8 +255,8 @@ %patch10 %patch11 %patch12 -%patch13 %patch14 +%patch15 %patch51 %patch60 %patch61 @@ -580,11 +582,7 @@ # install and fixup host parts make DESTDIR=$RPM_BUILD_ROOT install-host -%if 0%{?gcc_icecream:1} -# with the gcc_icecream setup fixincludes are for the build includes which -# is wrong - get rid of them -rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed -%endif +rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/install-tools rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la # common fixup rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a @@ -599,10 +597,32 @@ export NO_DEBUGINFO_STRIP_DEBUG=true %define __debug_install_post %{nil} : >../debugfiles.list +: >../debugsourcefiles.list : >../debugsources.list -make DESTDIR=$RPM_BUILD_ROOT/%{?sysroot:%sysroot} install-target +# 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 +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 +# 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. +mkdir -p $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -mindepth 1 -maxdepth 1 -type d -a -not -name %{gcc_target_arch} | xargs -r rm -r +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -maxdepth 1 -type f | xargs -r rm +# And also remove installed pretty printers which conflict in similar ways +rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc%{binsuffix} %endif %endif +%endif + +%if 0%{?binutils_os:1} +for prog in as ld; do + ln -s /usr/%{binutils_os}/bin/$prog $RPM_BUILD_ROOT%{targetlibsubdir}/ +done +%endif # remove docs rm -rf $RPM_BUILD_ROOT%{_mandir} @@ -665,7 +685,11 @@ # crosses %if 0%{!?gcc_accel:1} mkdir -p %{buildroot}%{_sysconfdir}/alternatives -for ex in gcc c++ cpp g++ gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do +for ex in gcc cpp \ +%if %{build_cp} + c++ g++ \ +%endif + gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do ln -s %{_sysconfdir}/alternatives/%{gcc_target_arch}-$ex \ %{buildroot}%{_bindir}/%{gcc_target_arch}-$ex done @@ -673,9 +697,11 @@ %post %{_sbindir}/update-alternatives \ --install %{_bindir}/%{gcc_target_arch}-gcc %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix} 7 \ - --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-cpp %{gcc_target_arch}-cpp %{_bindir}/%{gcc_target_arch}-cpp%{binsuffix} \ +%if %{build_cp} + --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ +%endif --slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \ @@ -698,9 +724,7 @@ %{libsubdir}/accel/%{gcc_target_arch} %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{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} @@ -708,9 +732,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc -%{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-cpp -%{_prefix}/bin/%{gcc_target_arch}-g++ %{_prefix}/bin/%{gcc_target_arch}-gcc-ar %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib @@ -718,15 +740,26 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool +%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++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%if 0%{!?gcc_libc_bootstrap:1} +%if %{cross_arch} == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} +%{_prefix}/include/c++ +%endif +%endif +%endif %endif %dir %{targetlibsubdir} %dir %{_libdir}/gcc/%{gcc_target_arch} cross-arm-gcc7.spec: same change ++++++ cross-avr-gcc7-bootstrap.spec ++++++ ++++ 780 lines (skipped) ++++++ cross-avr-gcc7.spec ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:55.668184592 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:55.668184592 +0100 @@ -1,7 +1,7 @@ # # spec file for package cross-avr-gcc7 # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define pkgname cross-avr-gcc7 %define cross_arch avr %define gcc_target_arch avr -%define gcc_icecream 1 + # # spec file for package gcc (Version 4.0.1) # @@ -78,7 +78,6 @@ %endif %if 0%{?gcc_icecream:1} -%define build_sysroot / %define sysroot %{_prefix}/%{gcc_target_arch} %else # offloading builds newlib in-tree and can install in @@ -124,6 +123,9 @@ %if 0%{?gcc_target_newlib:1} && 0%{!?gcc_libc_bootstrap:1} BuildRequires: cross-%cross_arch-newlib-devel %endif +%if 0%{!?gcc_libc_bootstrap:1} && %{cross_arch} == "avr" +BuildRequires: avr-libc +%endif %if 0%{?gcc_target_glibc:1} BuildRequires: cross-%cross_arch-glibc-devel %endif @@ -157,7 +159,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 7.2.1+r253932 +Version: 7.2.1+r256737 Release: 0 %define gcc_version %(echo %version | sed 's/+.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1) @@ -177,8 +179,8 @@ Patch10: gcc5-no-return-gcc43-workaround.patch Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch Patch12: gcc7-stack-probe.diff -Patch13: gcc7-pr81481.diff Patch14: gcc7-pr82248.diff +Patch15: gcc7-avoid-fixinc-error.diff # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -253,8 +255,8 @@ %patch10 %patch11 %patch12 -%patch13 %patch14 +%patch15 %patch51 %patch60 %patch61 @@ -580,11 +582,7 @@ # install and fixup host parts make DESTDIR=$RPM_BUILD_ROOT install-host -%if 0%{?gcc_icecream:1} -# with the gcc_icecream setup fixincludes are for the build includes which -# is wrong - get rid of them -rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed -%endif +rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/install-tools rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la # common fixup rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a @@ -599,11 +597,33 @@ export NO_DEBUGINFO_STRIP_DEBUG=true %define __debug_install_post %{nil} : >../debugfiles.list +: >../debugsourcefiles.list : >../debugsources.list -make DESTDIR=$RPM_BUILD_ROOT/%{?sysroot:%sysroot} install-target +# 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 +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 +# 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. +mkdir -p $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -mindepth 1 -maxdepth 1 -type d -a -not -name %{gcc_target_arch} | xargs -r rm -r +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -maxdepth 1 -type f | xargs -r rm +# And also remove installed pretty printers which conflict in similar ways +rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc%{binsuffix} +%endif %endif %endif +%if 0%{?binutils_os:1} +for prog in as ld; do + ln -s /usr/%{binutils_os}/bin/$prog $RPM_BUILD_ROOT%{targetlibsubdir}/ +done +%endif + # remove docs rm -rf $RPM_BUILD_ROOT%{_mandir} rm -rf $RPM_BUILD_ROOT%{_infodir} @@ -665,7 +685,11 @@ # crosses %if 0%{!?gcc_accel:1} mkdir -p %{buildroot}%{_sysconfdir}/alternatives -for ex in gcc c++ cpp g++ gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do +for ex in gcc cpp \ +%if %{build_cp} + c++ g++ \ +%endif + gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do ln -s %{_sysconfdir}/alternatives/%{gcc_target_arch}-$ex \ %{buildroot}%{_bindir}/%{gcc_target_arch}-$ex done @@ -673,9 +697,11 @@ %post %{_sbindir}/update-alternatives \ --install %{_bindir}/%{gcc_target_arch}-gcc %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix} 7 \ - --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-cpp %{gcc_target_arch}-cpp %{_bindir}/%{gcc_target_arch}-cpp%{binsuffix} \ +%if %{build_cp} + --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ +%endif --slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \ @@ -698,9 +724,7 @@ %{libsubdir}/accel/%{gcc_target_arch} %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{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} @@ -708,9 +732,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc -%{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-cpp -%{_prefix}/bin/%{gcc_target_arch}-g++ %{_prefix}/bin/%{gcc_target_arch}-gcc-ar %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib @@ -718,15 +740,26 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool +%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++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%if 0%{!?gcc_libc_bootstrap:1} +%if %{cross_arch} == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} +%{_prefix}/include/c++ +%endif +%endif +%endif %endif %dir %{targetlibsubdir} %dir %{_libdir}/gcc/%{gcc_target_arch} ++++++ cross-epiphany-gcc7-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:55.696183283 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:55.696183283 +0100 @@ -1,7 +1,7 @@ # # spec file for package cross-epiphany-gcc7-bootstrap # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -79,7 +79,6 @@ %endif %if 0%{?gcc_icecream:1} -%define build_sysroot / %define sysroot %{_prefix}/%{gcc_target_arch} %else # offloading builds newlib in-tree and can install in @@ -125,6 +124,9 @@ %if 0%{?gcc_target_newlib:1} && 0%{!?gcc_libc_bootstrap:1} BuildRequires: cross-%cross_arch-newlib-devel %endif +%if 0%{!?gcc_libc_bootstrap:1} && %{cross_arch} == "avr" +BuildRequires: avr-libc +%endif %if 0%{?gcc_target_glibc:1} BuildRequires: cross-%cross_arch-glibc-devel %endif @@ -158,7 +160,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 7.2.1+r253932 +Version: 7.2.1+r256737 Release: 0 %define gcc_version %(echo %version | sed 's/+.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1) @@ -178,8 +180,8 @@ Patch10: gcc5-no-return-gcc43-workaround.patch Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch Patch12: gcc7-stack-probe.diff -Patch13: gcc7-pr81481.diff Patch14: gcc7-pr82248.diff +Patch15: gcc7-avoid-fixinc-error.diff # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -254,8 +256,8 @@ %patch10 %patch11 %patch12 -%patch13 %patch14 +%patch15 %patch51 %patch60 %patch61 @@ -581,11 +583,7 @@ # install and fixup host parts make DESTDIR=$RPM_BUILD_ROOT install-host -%if 0%{?gcc_icecream:1} -# with the gcc_icecream setup fixincludes are for the build includes which -# is wrong - get rid of them -rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed -%endif +rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/install-tools rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la # common fixup rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a @@ -600,10 +598,32 @@ export NO_DEBUGINFO_STRIP_DEBUG=true %define __debug_install_post %{nil} : >../debugfiles.list +: >../debugsourcefiles.list : >../debugsources.list -make DESTDIR=$RPM_BUILD_ROOT/%{?sysroot:%sysroot} install-target +# 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 +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 +# 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. +mkdir -p $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -mindepth 1 -maxdepth 1 -type d -a -not -name %{gcc_target_arch} | xargs -r rm -r +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -maxdepth 1 -type f | xargs -r rm +# And also remove installed pretty printers which conflict in similar ways +rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc%{binsuffix} %endif %endif +%endif + +%if 0%{?binutils_os:1} +for prog in as ld; do + ln -s /usr/%{binutils_os}/bin/$prog $RPM_BUILD_ROOT%{targetlibsubdir}/ +done +%endif # remove docs rm -rf $RPM_BUILD_ROOT%{_mandir} @@ -666,7 +686,11 @@ # crosses %if 0%{!?gcc_accel:1} mkdir -p %{buildroot}%{_sysconfdir}/alternatives -for ex in gcc c++ cpp g++ gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do +for ex in gcc cpp \ +%if %{build_cp} + c++ g++ \ +%endif + gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do ln -s %{_sysconfdir}/alternatives/%{gcc_target_arch}-$ex \ %{buildroot}%{_bindir}/%{gcc_target_arch}-$ex done @@ -674,9 +698,11 @@ %post %{_sbindir}/update-alternatives \ --install %{_bindir}/%{gcc_target_arch}-gcc %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix} 7 \ - --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-cpp %{gcc_target_arch}-cpp %{_bindir}/%{gcc_target_arch}-cpp%{binsuffix} \ +%if %{build_cp} + --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ +%endif --slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \ @@ -699,9 +725,7 @@ %{libsubdir}/accel/%{gcc_target_arch} %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{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} @@ -709,9 +733,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc -%{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-cpp -%{_prefix}/bin/%{gcc_target_arch}-g++ %{_prefix}/bin/%{gcc_target_arch}-gcc-ar %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib @@ -719,15 +741,26 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool +%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++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%if 0%{!?gcc_libc_bootstrap:1} +%if %{cross_arch} == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} +%{_prefix}/include/c++ +%endif +%endif +%endif %endif %dir %{targetlibsubdir} %dir %{_libdir}/gcc/%{gcc_target_arch} cross-epiphany-gcc7.spec: same change cross-hppa-gcc7.spec: same change cross-i386-gcc7.spec: same change cross-m68k-gcc7.spec: same change cross-mips-gcc7.spec: same change cross-nvptx-gcc7.spec: same change cross-ppc64-gcc7.spec: same change cross-ppc64le-gcc7.spec: same change cross-rx-gcc7-bootstrap.spec: same change cross-rx-gcc7.spec: same change cross-s390x-gcc7.spec: same change cross-sparc-gcc7.spec: same change cross-sparc64-gcc7.spec: same change cross-x86_64-gcc7.spec: same change ++++++ gcc7-testresults.spec ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:56.144162339 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:56.148162153 +0100 @@ -1,7 +1,7 @@ # # spec file for package gcc7-testresults # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -253,7 +253,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 7.2.1+r253932 +Version: 7.2.1+r256737 Release: 0 %define gcc_version %(echo %version | sed 's/+.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1) @@ -315,8 +315,8 @@ Patch10: gcc5-no-return-gcc43-workaround.patch Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch Patch12: gcc7-stack-probe.diff -Patch13: gcc7-pr81481.diff Patch14: gcc7-pr82248.diff +Patch15: gcc7-avoid-fixinc-error.diff # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -443,8 +443,8 @@ %patch10 %patch11 %patch12 -%patch13 %patch14 +%patch15 %patch51 %patch60 %patch61 ++++++ gcc7.spec ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:56.188160282 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:56.196159909 +0100 @@ -1,7 +1,7 @@ # # spec file for package gcc7 # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -235,7 +235,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 7.2.1+r253932 +Version: 7.2.1+r256737 Release: 0 %define gcc_version %(echo %version | sed 's/+.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1) @@ -297,8 +297,8 @@ Patch10: gcc5-no-return-gcc43-workaround.patch Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch Patch12: gcc7-stack-probe.diff -Patch13: gcc7-pr81481.diff Patch14: gcc7-pr82248.diff +Patch15: gcc7-avoid-fixinc-error.diff # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -1747,8 +1747,8 @@ %patch10 %patch11 %patch12 -%patch13 %patch14 +%patch15 %patch51 %patch60 %patch61 ++++++ change_spec ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:56.260156916 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:56.264156729 +0100 @@ -93,7 +93,8 @@ if test "$do_crosses" = 1 ; then add_cross cross-aarch64-gcc$base_ver aarch64 aarch64-suse-linux %define gcc_icecream 1 add_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi %define gcc_icecream 0 -add_cross cross-avr-gcc$base_ver avr avr %define gcc_icecream 1 +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_cross cross-i386-gcc$base_ver i386 i586-suse-linux %define gcc_icecream 1 add_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux %define gcc_icecream 1 add_cross cross-s390x-gcc$base_ver s390x s390x-suse-linux %define gcc_icecream 1 ++++++ cross.spec.in ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:56.352152615 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:56.356152428 +0100 @@ -57,7 +57,6 @@ %endif %if 0%{?gcc_icecream:1} -%define build_sysroot / %define sysroot %{_prefix}/%{gcc_target_arch} %else # offloading builds newlib in-tree and can install in @@ -103,6 +102,9 @@ %if 0%{?gcc_target_newlib:1} && 0%{!?gcc_libc_bootstrap:1} BuildRequires: cross-%cross_arch-newlib-devel %endif +%if 0%{!?gcc_libc_bootstrap:1} && %{cross_arch} == "avr" +BuildRequires: avr-libc +%endif %if 0%{?gcc_target_glibc:1} BuildRequires: cross-%cross_arch-glibc-devel %endif @@ -160,11 +162,7 @@ # install and fixup host parts make DESTDIR=$RPM_BUILD_ROOT install-host -%if 0%{?gcc_icecream:1} -# with the gcc_icecream setup fixincludes are for the build includes which -# is wrong - get rid of them -rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed -%endif +rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/install-tools rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la # common fixup rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a @@ -180,11 +178,33 @@ export NO_DEBUGINFO_STRIP_DEBUG=true %define __debug_install_post %{nil} : >../debugfiles.list +: >../debugsourcefiles.list : >../debugsources.list -make DESTDIR=$RPM_BUILD_ROOT/%{?sysroot:%sysroot} install-target +# 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 +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 +# 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. +mkdir -p $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -mindepth 1 -maxdepth 1 -type d -a -not -name %{gcc_target_arch} | xargs -r rm -r +find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -maxdepth 1 -type f | xargs -r rm +# And also remove installed pretty printers which conflict in similar ways +rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc%{binsuffix} +%endif %endif %endif +%if 0%{?binutils_os:1} +for prog in as ld; do + ln -s /usr/%{binutils_os}/bin/$prog $RPM_BUILD_ROOT%{targetlibsubdir}/ +done +%endif + # remove docs rm -rf $RPM_BUILD_ROOT%{_mandir} rm -rf $RPM_BUILD_ROOT%{_infodir} @@ -246,7 +266,11 @@ # crosses %if 0%{!?gcc_accel:1} mkdir -p %{buildroot}%{_sysconfdir}/alternatives -for ex in gcc c++ cpp g++ gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do +for ex in gcc cpp \ +%if %{build_cp} + c++ g++ \ +%endif + gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool; do ln -s %{_sysconfdir}/alternatives/%{gcc_target_arch}-$ex \ %{buildroot}%{_bindir}/%{gcc_target_arch}-$ex done @@ -254,9 +278,11 @@ %post %{_sbindir}/update-alternatives \ --install %{_bindir}/%{gcc_target_arch}-gcc %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix} @base_ver@ \ - --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-cpp %{gcc_target_arch}-cpp %{_bindir}/%{gcc_target_arch}-cpp%{binsuffix} \ +%if %{build_cp} + --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ +%endif --slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \ @@ -279,9 +305,7 @@ %{libsubdir}/accel/%{gcc_target_arch} %else %{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix} -%{_prefix}/bin/%{gcc_target_arch}-g++%{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} @@ -289,9 +313,7 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix} %{_prefix}/bin/%{gcc_target_arch}-gcc -%{_prefix}/bin/%{gcc_target_arch}-c++ %{_prefix}/bin/%{gcc_target_arch}-cpp -%{_prefix}/bin/%{gcc_target_arch}-g++ %{_prefix}/bin/%{gcc_target_arch}-gcc-ar %{_prefix}/bin/%{gcc_target_arch}-gcc-nm %{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib @@ -299,15 +321,26 @@ %{_prefix}/bin/%{gcc_target_arch}-gcov-dump %{_prefix}/bin/%{gcc_target_arch}-gcov-tool %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp -%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump %ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool +%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++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++ +%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++ +%if 0%{!?gcc_libc_bootstrap:1} +%if %{cross_arch} == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1} +%{_prefix}/include/c++ +%endif +%endif +%endif %endif %dir %{targetlibsubdir} %dir %{_libdir}/gcc/%{gcc_target_arch} ++++++ gcc-7.2.1+r253932.tar.xz -> gcc-7.2.1+r256737.tar.xz ++++++ /work/SRC/openSUSE:Factory/gcc7/gcc-7.2.1+r253932.tar.xz /work/SRC/openSUSE:Factory/.gcc7.new/gcc-7.2.1+r256737.tar.xz differ: char 27, line 1 ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.nhdomk/_old 2018-01-20 11:23:56.404150184 +0100 +++ /var/tmp/diff_new_pack.nhdomk/_new 2018-01-20 11:23:56.404150184 +0100 @@ -239,7 +239,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: http://gcc.gnu.org/ -Version: 7.2.1+r253932 +Version: 7.2.1+r256737 Release: 1 %define gcc_version %(echo %version | sed 's/+.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1) @@ -302,8 +302,8 @@ Patch10: gcc5-no-return-gcc43-workaround.patch Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch Patch12: gcc7-stack-probe.diff -Patch13: gcc7-pr81481.diff Patch14: gcc7-pr82248.diff +Patch15: gcc7-avoid-fixinc-error.diff # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -1057,8 +1057,8 @@ %patch10 %patch11 %patch12 -%patch13 %patch14 +%patch15 %patch51 %patch60 %patch61 ++++++ gcc7-avoid-fixinc-error.diff ++++++ Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 255402) +++ gcc/Makefile.in (working copy) @@ -2993,13 +2993,6 @@ stmp-fixinc: gsyslimits.h macro_list fix sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \ multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \ fix_dir=include-fixed$${multi_dir}; \ - if ! $(inhibit_libc) && test ! -d ${SYSTEM_HEADER_DIR}; then \ - echo The directory that should contain system headers does not exist: >&2 ; \ - echo " ${SYSTEM_HEADER_DIR}" >&2 ; \ - tooldir_sysinc=`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \ - if test "x${SYSTEM_HEADER_DIR}" = "x$${tooldir_sysinc}"; \ - then sleep 1; else exit 1; fi; \ - fi; \ $(mkinstalldirs) $${fix_dir}; \ chmod a+rx $${fix_dir} || true; \ (TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
