Accepting request 585463 from home:a_faerber:arm:none

Add cross-arm-none-gcc7 for Arm Cortex-M newlib development

OBS-URL: https://build.opensuse.org/request/show/585463
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc7?expand=0&rev=122
This commit is contained in:
Richard Biener 2018-03-12 10:38:24 +00:00 committed by Git OBS Bridge
parent 42b6616f21
commit 94d608ada2
25 changed files with 2536 additions and 140 deletions

View File

@ -105,6 +105,7 @@ add_cross cross-ppc64le-gcc$base_ver ppc64le powerpc64le-suse-linux %define gcc_
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 hppa hppa-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-rx-gcc$base_ver rx rx-elf
#add_newlib_cross cross-rl78-gcc$base_ver rl78 rl78-elf

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -0,0 +1,364 @@
-------------------------------------------------------------------
Wed Mar 7 08:59:22 UTC 2018 - rguenther@suse.com
- Update to gcc-7-branch head (r258313).
* includes spectre V2 mitigation patch for s390x. [bnc#1083946]
-------------------------------------------------------------------
Thu Mar 1 13:03:25 UTC 2018 - rguenther@suse.com
- Fix nvptx offload target compiler install so GCC can pick up
required files. Split out the newlib part into cross-nvptx-newlib7-devel
and avoid conflicts with GCC 8 variant via Provides/Conflicts
of cross-nvptx-newlib-devel.
-------------------------------------------------------------------
Tue Feb 27 08:37:14 UTC 2018 - mliska@suse.cz
- Update to gcc-7-branch head (r258025).
* includes fix for chromium build failure. [bnc#1083290]
-------------------------------------------------------------------
Mon Feb 26 09:02:16 UTC 2018 - rguenther@suse.com
- Update to gcc-7-branch head (r257981).
- Add conflicts to non-bootstrap variant for cross packages to silence
repo-checker.
- Amend gcc48-remove-mpfr-2.4.0-requirement.patch to fix build on SLE11.
-------------------------------------------------------------------
Thu Feb 1 09:26:51 UTC 2018 - rguenther@suse.com
- Use %{?_smp_mflags} everywhere.
- Update _constraints to bump physicalmemory and general simplification.
-------------------------------------------------------------------
Thu Jan 25 09:46:10 UTC 2018 - rguenther@suse.com
- Update to GCC 7.3 release.
-------------------------------------------------------------------
Mon Jan 22 11:29:58 UTC 2018 - schwab@suse.de
- Move misplaced %endif
-------------------------------------------------------------------
Wed Jan 17 13:13:12 UTC 2018 - rguenther@suse.com
- Update to GCC 7.3.0 RC1 (r256792).
-------------------------------------------------------------------
Tue Jan 16 11:29:06 UTC 2018 - rguenther@suse.com
- 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 - rguenther@suse.com
- Handle new debug sources filelist variant debugsourcefiles.list.
- Prune libstdc++ includes for crosses.
-------------------------------------------------------------------
Wed Jan 10 08:01:42 UTC 2018 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- Split cross-avr into -bootstrap and non-bootstrap variant for avr-libc
integration.
-------------------------------------------------------------------
Fri Dec 8 10:32:47 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- Add gcc7-pr82248.diff to fix bogus stack probe instruction on ARM.
[bnc#1068967]
-------------------------------------------------------------------
Fri Oct 20 11:12:53 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - matz@suse.de
- 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 - rguenther@suse.com
- 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 - bwiedemann@suse.com
- Sort tar file list to make cross-* packages build reproducibly
(boo#1041090)
-------------------------------------------------------------------
Tue Aug 8 12:38:37 UTC 2017 - rguenther@suse.com
- Add gcc7-pr81766.diff to fix grub2 build.
-------------------------------------------------------------------
Fri Aug 4 11:41:36 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- Fix cross compiler update-alternatives machinery to make rpmlint
happy.
-------------------------------------------------------------------
Fri Jun 9 11:20:46 UTC 2017 - rguenther@suse.com
- Update plugin enablement guard to use %sle_version. [bnc#1043590]
-------------------------------------------------------------------
Wed Jun 7 13:18:16 UTC 2017 - rguenther@suse.com
- Update to gcc-7-branch head (r248970).
* Includes gcc7-pr80593.patch.
-------------------------------------------------------------------
Tue May 30 07:39:56 UTC 2017 - rguenther@suse.com
- Update to gcc-7-branch head (r248590).
- Add #!BuildIgnore: gcc-PIE also to cross compiler builds.
-------------------------------------------------------------------
Wed May 17 12:09:04 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - mliska@suse.cz
- 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 - rguenther@suse.com
- Update to gcc trunk head (r246609).
- Add cross-binutils Requires to cross-gcc packages.
-------------------------------------------------------------------
Mon Mar 27 14:06:43 UTC 2017 - rguenther@suse.com
- Really fix libtsan requirement on ppc. [boo#1030623]
- Also fix liblsan requirement on pcc.
-------------------------------------------------------------------
Thu Mar 23 09:59:21 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r246414).
- Package gcov-dump.
- Remove gcc7-debug-dwarf2out-ice.patch.
- Add gcc7-remove-Wexpansion-to-defined-from-Wextra.patch to remove
useless warning from Wextra that causes build fails due to excessive
log file size.
- Remove libtsan Requires from the gcc7-32bit package, tsan doesn't have
a 32bit multilib on any arch. [boo#1030623]
-------------------------------------------------------------------
Mon Mar 13 10:56:29 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r246083).
-------------------------------------------------------------------
Wed Mar 8 14:10:58 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r245976).
- BuildRequire at least gcc-4.8 Ada.
- Enable asan and ubsan for s390.
- Also require gcc-c++ of the host compiler version used when that
is changed due to Ada requirements.
-------------------------------------------------------------------
Tue Feb 14 08:00:25 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r245417).
- Enable profiledbootstrap for %ix86, build with release checking.
- Build stage1 with -O2 -g.
- Enable Ada for s390x.
- Enable asan and ubsan for s390x.
- Refresh gcc44-rename-info-files.patch.
-------------------------------------------------------------------
Thu Feb 2 13:44:56 UTC 2017 - rguenther@suse.com
- Fix up nvptx offloading so that it actually works.
-------------------------------------------------------------------
Tue Jan 31 12:25:34 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r245052).
- Use plain avr as gcc target for AVR to match what binutils does.
[bnc#1022404]
- Cleanup spec file and gcc7-rpmlintrc a bit.
-------------------------------------------------------------------
Thu Jan 26 15:10:21 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244934).
- Add accelerator offloading cross to nvptx-none, for this also
add nvptx-newlib.tar.bz2.
-------------------------------------------------------------------
Tue Jan 24 12:56:39 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244867).
- Bump libgo SO version to 11.
- PowerPC now supports lsan and tsan.
- Correct lsan/tsan packaging who are 64bits only.
-------------------------------------------------------------------
Fri Jan 20 08:36:18 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244684).
- Use --with-gcc-major-version-only and drop gcc-dir-version.patch.
- Enable offloading for nvptx-none on the host (offload compiler still
missing). Re-enable HSA offloading.
- Re-add missing cross.spec.in and enable crosses.
-------------------------------------------------------------------
Thu Jan 12 12:01:01 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244350).
- Package avx512vpopcntdqintrin.h and sgxintrin.h on x86_64/i?86.
-------------------------------------------------------------------
Wed Dec 14 14:34:22 UTC 2016 - rguenther@suse.com
- Update to gcc trunk head (r243648).
- Package {arm,aarch64}/arm_fp16.h and arm/arm_cmse.h.
-------------------------------------------------------------------
Mon Nov 28 10:43:45 UTC 2016 - rguenther@suse.com
- Remove broken libffi build support.
- Remove more Java remanents.
-------------------------------------------------------------------
Fri Nov 25 08:30:28 UTC 2016 - mliska@suse.cz
- Update to gcc trunk (r242874).
- Add avx5124fmapsintrin.h and avx5124vnniwintrin.h header files.
-------------------------------------------------------------------
Wed Nov 23 15:36:06 UTC 2016 - mliska@suse.cz
- New package, inherits from gcc6
* gcc-dir-version.patch, drop patchlevel from install directory names
* gcc-add-defaultsspec.diff, add the ability to provide a specs file
that is read by default
* tls-no-direct.diff, avoid direct %fs references on x86 to not slow down
Xen
* gcc43-no-unwind-tables.diff, do not produce unwind tables for CRT files
* gcc41-ppc32-retaddr.patch, fix expansion of __builtin_return_addr for ppc
* gcc44-textdomain.patch, make translation files version specific and
adjust textdomain to find them
* gcc44-rename-info-files.patch, fix cross-references in info files when
renaming them to be version specific
* gcc48-libstdc++-api-reference.patch, fix link in the installed libstdc++
html documentation
* gcc48-remove-mpfr-2.4.0-requirement.patch, make GCC work with earlier
mpfr versions on old products
* gcc5-no-return-gcc43-workaround.patch, make build work with host gcc 4.3
- Drops
* libjava-no-multilib.diff, gcc41-java-slow_pthread_self.patch
and all Java related hunks in included patches
because Java is no longer included in GCC 7.
* gcc6-hsa-enablement.patch as it's part of trunk
* gcc6-libsanitizer-aarch64-vma48.patch as it's part of trunk
* gcc6-SOURCE_DATE_EPOCH.patch as it's part of trunk

View File

@ -0,0 +1,794 @@
#
# spec file for package cross-arm-none-gcc7-bootstrap
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-arm-none-gcc7-bootstrap
%define cross_arch arm-none
%define gcc_target_arch arm-none-eabi
%define gcc_target_newlib 1
%define gcc_libc_bootstrap 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
# nospeccleaner
%define build_cp 0%{!?gcc_accel:1}
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define build_hsa 0
%define build_nvptx 0
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if "%{binutils_target}" == "avr" || "%{binutils_target}" == "spu"
%define binutils_os %{canonical_target}
%else
%if "%{binutils_target}" == "epiphany" || "%{binutils_target}" == "nds32le" || "%{binutils_target}" == "rl78" || "%{binutils_target}" == "rx"
%define binutils_os %{canonical_target}-elf
%else
%if "%{binutils_target}" == "arm"
%define binutils_os %{canonical_target}-suse-linux-gnueabi
%else
%if 0%{?gcc_accel:1}
%define binutils_os %{gcc_target_arch}
%else
%define binutils_os %{canonical_target}-suse-linux
%endif
%endif
%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
%if %{suse_version} >= 1220
%define selfconflict() %1
%else
%define selfconflict() otherproviders(%1)
%endif
Name: %{pkgname}
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
BuildRequires: bison
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
%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
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools
ExclusiveArch: x86_64
%define nvptx_newlib 1
%endif
%endif
%if 0%{?gcc_icecream:1}
ExclusiveArch: ppc64le ppc64 x86_64 s390x aarch64
%endif
%define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
# file conflicts with it and is no longer packaged
%if "%pkgname" == "cross-ppc64-gcc49"
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
%endif
%if 0%{?gcc_target_newlib: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.
Conflicts: cross-%{cross_arch}-gcc7
%endif
#!BuildIgnore: gcc-PIE
BuildRequires: update-alternatives
Requires(post): update-alternatives
Requires(preun): update-alternatives
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 7.3.1+r258313
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -7
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{version}.tar.xz
Source1: change_spec
Source3: gcc7-rpmlintrc
Source4: README.First-for.SuSE.packagers
Source5: nvptx-newlib.tar.xz
Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff
Patch7: gcc48-libstdc++-api-reference.patch
Patch9: gcc48-remove-mpfr-2.4.0-requirement.patch
Patch10: gcc5-no-return-gcc43-workaround.patch
Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
Patch12: gcc7-stack-probe.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
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-obj, gcc-obj-c++ and gcc-go.
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
# %%cross_arch is supposed to be the rpm target variant arch
# %%TARGET_ARCH will be the canonicalized target CPU part
# %%HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%if 0%{?disable_32bit:1}
%define biarch 0
%else
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%endif
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%if 0%{?nvptx_newlib:1}
%setup -q -n gcc-%{version} -a 5
ln -s nvptx-newlib/newlib .
%else
%setup -q -n gcc-%{version}
%endif
#test patching start
%patch2
%patch5
%patch6
%patch7
%if %{suse_version} < 1310
%patch9
%endif
%patch10
%patch11
%patch12
%patch14
%patch15
%patch51
%patch60
%patch61
#test patching end
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# SLE11 does not allow empty rpms
%if %{suse_version} < 1310
echo "This is a dummy package to provide a dependency." > README
%endif
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector[^ ]*//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
# In general we want to ship release checking enabled compilers
# which is the default for released compilers
#ENABLE_CHECKING="--enable-checking=yes"
ENABLE_CHECKING="--enable-checking=release"
#ENABLE_CHECKING=""
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%%{hostsuffix}" GNATBIND="gnatbind%%{hostsuffix}"
# GNATMAKE="gnatmake%%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
cp -a /usr/bin/g++%{hostsuffix} host-tools/bin/g++
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
%if %{build_hsa} || %{build_nvptx}
--enable-offload-targets=\
%if %{build_hsa}
hsa,\
%endif
%if %{build_nvptx}
nvptx-none=%{_prefix}/nvptx-none, \
%endif
%endif
%if %{build_nvptx}
--without-cuda-driver \
%endif
$ENABLE_CHECKING \
--disable-werror \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
%ifnarch %mpx_arch
--disable-libmpx \
%endif
--disable-libcc1 \
%if %{enable_plugins}
--enable-plugin \
%else
--disable-plugin \
%endif
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
%if 0%{suse_version} <= 1320
--with-default-libstdcxx-abi=gcc4-compatible \
%endif
--enable-version-specific-runtime-libs \
--with-gcc-major-version-only \
--enable-linker-build-id \
--enable-linux-futex \
%if %{suse_version} >= 1315
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
--enable-gnu-indirect-function \
%endif
%endif
--program-suffix=%{binsuffix} \
%if 0%{?disable_32bit:1}
--disable-multilib \
%endif
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%endif
%endif
%if 0%{?binutils_os:1}
--with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if 0%{?gcc_target_newlib}
--with-newlib \
%if 0%{?gcc_libc_bootstrap:1}
--without-headers \
%endif
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%if "%{TARGET_ARCH}" == "nvptx"
--enable-as-accelerator-for=%{GCCDIST} \
--disable-sjlj-exceptions \
--enable-newlib-io-long-long \
%endif
%endif
%if "%{TARGET_ARCH}" == "arm"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
%if %{suse_version} >= 1350
--with-cpu=power8 \
--with-tune=power9 \
%else
%if %{suse_version} >= 1315 && %{suse_version} != 1320
--with-cpu=power8 \
--with-tune=power8 \
%else
--with-cpu=power7 \
--with-tune=power7 \
%endif
%endif
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--enable-targets=powerpcle-linux \
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
%if 0%{?sle_version:%sle_version} >= 150000
--with-arch-32=x86-64 \
%else
--with-arch-32=i586 \
%endif
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=x86-64 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
%if %{suse_version} >= 1310
--with-tune=zEC12 --with-arch=z196 \
%else
--with-tune=z9-109 --with-arch=z900 \
%endif
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
%if %{suse_version} >= 1310
--with-tune=zEC12 --with-arch=z196 \
%else
--with-tune=z9-109 --with-arch=z900 \
%endif
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1} && 0%{!?gcc_libc_bootstrap:1}
make %{?_smp_mflags}
%else
make %{?_smp_mflags} all-host
%endif
%if 0%{?gcc_icecream:%gcc_icecream}
%package -n cross-%cross_arch-gcc7-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc7-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%endif
%if 0%{?nvptx_newlib:1}
%package -n cross-nvptx-newlib7-devel
Summary: newlib for the nvptx offload target
Group: Development/Languages/C and C++
Provides: cross-nvptx-newlib-devel = %{version}-%{release}
Conflicts: cross-nvptx-newlib-devel
%description -n cross-nvptx-newlib7-devel
Newlib development files for the nvptx offload target compiler.
%endif
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
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
# install and fixup target parts
# debugedit is not prepared for this and crashes
%if 0%{?gcc_icecream:1}
# so expect the sysroot to be populated from natively built binaries
%else
%if 0%{!?gcc_libc_bootstrap:1}
export NO_BRP_STRIP_DEBUG=true
export NO_DEBUGINFO_STRIP_DEBUG=true
%define __debug_install_post %{nil}
: >../debugfiles.list
: >../debugsourcefiles.list
: >../debugsources.list
# 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}
# 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}/cc1plus
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
# also move things from target directories into the accel path since
# 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}
%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
%endif
# we provide update-alternatives for selecting a compiler version for
# crosses
%if 0%{!?gcc_accel:1}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
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
%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}-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} \
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix}
%postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then
%{_sbindir}/update-alternatives --remove %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix}
fi
%endif
%files
%defattr(-,root,root)
%if 0%{?gcc_accel:1}
%{_prefix}/bin/%{GCCDIST}-accel-%{gcc_target_arch}-*
%dir %{libsubdir}
%dir %{libsubdir}/accel
%{libsubdir}/accel/%{gcc_target_arch}
%else
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
%{_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}-gcov%{binsuffix}
%{_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}-cpp
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
%{_prefix}/bin/%{gcc_target_arch}-gcov
%{_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}-cpp
%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
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%endif
%if 0%{!?gcc_icecream:1} && 0%{!?gcc_libc_bootstrap:1} && 0%{?sysroot:1}
%{sysroot}
%endif
%if 0%{?gcc_icecream:%gcc_icecream}
%files -n cross-%cross_arch-gcc7-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%endif
%if 0%{?nvptx_newlib:1}
%files -n cross-nvptx-newlib7-devel
%defattr(-,root,root)
%{_prefix}/%{gcc_target_arch}
%endif
%changelog

364
cross-arm-none-gcc7.changes Normal file
View File

@ -0,0 +1,364 @@
-------------------------------------------------------------------
Wed Mar 7 08:59:22 UTC 2018 - rguenther@suse.com
- Update to gcc-7-branch head (r258313).
* includes spectre V2 mitigation patch for s390x. [bnc#1083946]
-------------------------------------------------------------------
Thu Mar 1 13:03:25 UTC 2018 - rguenther@suse.com
- Fix nvptx offload target compiler install so GCC can pick up
required files. Split out the newlib part into cross-nvptx-newlib7-devel
and avoid conflicts with GCC 8 variant via Provides/Conflicts
of cross-nvptx-newlib-devel.
-------------------------------------------------------------------
Tue Feb 27 08:37:14 UTC 2018 - mliska@suse.cz
- Update to gcc-7-branch head (r258025).
* includes fix for chromium build failure. [bnc#1083290]
-------------------------------------------------------------------
Mon Feb 26 09:02:16 UTC 2018 - rguenther@suse.com
- Update to gcc-7-branch head (r257981).
- Add conflicts to non-bootstrap variant for cross packages to silence
repo-checker.
- Amend gcc48-remove-mpfr-2.4.0-requirement.patch to fix build on SLE11.
-------------------------------------------------------------------
Thu Feb 1 09:26:51 UTC 2018 - rguenther@suse.com
- Use %{?_smp_mflags} everywhere.
- Update _constraints to bump physicalmemory and general simplification.
-------------------------------------------------------------------
Thu Jan 25 09:46:10 UTC 2018 - rguenther@suse.com
- Update to GCC 7.3 release.
-------------------------------------------------------------------
Mon Jan 22 11:29:58 UTC 2018 - schwab@suse.de
- Move misplaced %endif
-------------------------------------------------------------------
Wed Jan 17 13:13:12 UTC 2018 - rguenther@suse.com
- Update to GCC 7.3.0 RC1 (r256792).
-------------------------------------------------------------------
Tue Jan 16 11:29:06 UTC 2018 - rguenther@suse.com
- 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 - rguenther@suse.com
- Handle new debug sources filelist variant debugsourcefiles.list.
- Prune libstdc++ includes for crosses.
-------------------------------------------------------------------
Wed Jan 10 08:01:42 UTC 2018 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- Split cross-avr into -bootstrap and non-bootstrap variant for avr-libc
integration.
-------------------------------------------------------------------
Fri Dec 8 10:32:47 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- Add gcc7-pr82248.diff to fix bogus stack probe instruction on ARM.
[bnc#1068967]
-------------------------------------------------------------------
Fri Oct 20 11:12:53 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - matz@suse.de
- 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 - rguenther@suse.com
- 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 - bwiedemann@suse.com
- Sort tar file list to make cross-* packages build reproducibly
(boo#1041090)
-------------------------------------------------------------------
Tue Aug 8 12:38:37 UTC 2017 - rguenther@suse.com
- Add gcc7-pr81766.diff to fix grub2 build.
-------------------------------------------------------------------
Fri Aug 4 11:41:36 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- Fix cross compiler update-alternatives machinery to make rpmlint
happy.
-------------------------------------------------------------------
Fri Jun 9 11:20:46 UTC 2017 - rguenther@suse.com
- Update plugin enablement guard to use %sle_version. [bnc#1043590]
-------------------------------------------------------------------
Wed Jun 7 13:18:16 UTC 2017 - rguenther@suse.com
- Update to gcc-7-branch head (r248970).
* Includes gcc7-pr80593.patch.
-------------------------------------------------------------------
Tue May 30 07:39:56 UTC 2017 - rguenther@suse.com
- Update to gcc-7-branch head (r248590).
- Add #!BuildIgnore: gcc-PIE also to cross compiler builds.
-------------------------------------------------------------------
Wed May 17 12:09:04 UTC 2017 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - rguenther@suse.com
- 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 - mliska@suse.cz
- 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 - rguenther@suse.com
- Update to gcc trunk head (r246609).
- Add cross-binutils Requires to cross-gcc packages.
-------------------------------------------------------------------
Mon Mar 27 14:06:43 UTC 2017 - rguenther@suse.com
- Really fix libtsan requirement on ppc. [boo#1030623]
- Also fix liblsan requirement on pcc.
-------------------------------------------------------------------
Thu Mar 23 09:59:21 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r246414).
- Package gcov-dump.
- Remove gcc7-debug-dwarf2out-ice.patch.
- Add gcc7-remove-Wexpansion-to-defined-from-Wextra.patch to remove
useless warning from Wextra that causes build fails due to excessive
log file size.
- Remove libtsan Requires from the gcc7-32bit package, tsan doesn't have
a 32bit multilib on any arch. [boo#1030623]
-------------------------------------------------------------------
Mon Mar 13 10:56:29 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r246083).
-------------------------------------------------------------------
Wed Mar 8 14:10:58 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r245976).
- BuildRequire at least gcc-4.8 Ada.
- Enable asan and ubsan for s390.
- Also require gcc-c++ of the host compiler version used when that
is changed due to Ada requirements.
-------------------------------------------------------------------
Tue Feb 14 08:00:25 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r245417).
- Enable profiledbootstrap for %ix86, build with release checking.
- Build stage1 with -O2 -g.
- Enable Ada for s390x.
- Enable asan and ubsan for s390x.
- Refresh gcc44-rename-info-files.patch.
-------------------------------------------------------------------
Thu Feb 2 13:44:56 UTC 2017 - rguenther@suse.com
- Fix up nvptx offloading so that it actually works.
-------------------------------------------------------------------
Tue Jan 31 12:25:34 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r245052).
- Use plain avr as gcc target for AVR to match what binutils does.
[bnc#1022404]
- Cleanup spec file and gcc7-rpmlintrc a bit.
-------------------------------------------------------------------
Thu Jan 26 15:10:21 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244934).
- Add accelerator offloading cross to nvptx-none, for this also
add nvptx-newlib.tar.bz2.
-------------------------------------------------------------------
Tue Jan 24 12:56:39 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244867).
- Bump libgo SO version to 11.
- PowerPC now supports lsan and tsan.
- Correct lsan/tsan packaging who are 64bits only.
-------------------------------------------------------------------
Fri Jan 20 08:36:18 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244684).
- Use --with-gcc-major-version-only and drop gcc-dir-version.patch.
- Enable offloading for nvptx-none on the host (offload compiler still
missing). Re-enable HSA offloading.
- Re-add missing cross.spec.in and enable crosses.
-------------------------------------------------------------------
Thu Jan 12 12:01:01 UTC 2017 - rguenther@suse.com
- Update to gcc trunk head (r244350).
- Package avx512vpopcntdqintrin.h and sgxintrin.h on x86_64/i?86.
-------------------------------------------------------------------
Wed Dec 14 14:34:22 UTC 2016 - rguenther@suse.com
- Update to gcc trunk head (r243648).
- Package {arm,aarch64}/arm_fp16.h and arm/arm_cmse.h.
-------------------------------------------------------------------
Mon Nov 28 10:43:45 UTC 2016 - rguenther@suse.com
- Remove broken libffi build support.
- Remove more Java remanents.
-------------------------------------------------------------------
Fri Nov 25 08:30:28 UTC 2016 - mliska@suse.cz
- Update to gcc trunk (r242874).
- Add avx5124fmapsintrin.h and avx5124vnniwintrin.h header files.
-------------------------------------------------------------------
Wed Nov 23 15:36:06 UTC 2016 - mliska@suse.cz
- New package, inherits from gcc6
* gcc-dir-version.patch, drop patchlevel from install directory names
* gcc-add-defaultsspec.diff, add the ability to provide a specs file
that is read by default
* tls-no-direct.diff, avoid direct %fs references on x86 to not slow down
Xen
* gcc43-no-unwind-tables.diff, do not produce unwind tables for CRT files
* gcc41-ppc32-retaddr.patch, fix expansion of __builtin_return_addr for ppc
* gcc44-textdomain.patch, make translation files version specific and
adjust textdomain to find them
* gcc44-rename-info-files.patch, fix cross-references in info files when
renaming them to be version specific
* gcc48-libstdc++-api-reference.patch, fix link in the installed libstdc++
html documentation
* gcc48-remove-mpfr-2.4.0-requirement.patch, make GCC work with earlier
mpfr versions on old products
* gcc5-no-return-gcc43-workaround.patch, make build work with host gcc 4.3
- Drops
* libjava-no-multilib.diff, gcc41-java-slow_pthread_self.patch
and all Java related hunks in included patches
because Java is no longer included in GCC 7.
* gcc6-hsa-enablement.patch as it's part of trunk
* gcc6-libsanitizer-aarch64-vma48.patch as it's part of trunk
* gcc6-SOURCE_DATE_EPOCH.patch as it's part of trunk

793
cross-arm-none-gcc7.spec Normal file
View File

@ -0,0 +1,793 @@
#
# spec file for package cross-arm-none-gcc7
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-arm-none-gcc7
%define cross_arch arm-none
%define gcc_target_arch arm-none-eabi
%define gcc_target_newlib 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
# nospeccleaner
%define build_cp 0%{!?gcc_accel:1}
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define build_hsa 0
%define build_nvptx 0
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if "%{binutils_target}" == "avr" || "%{binutils_target}" == "spu"
%define binutils_os %{canonical_target}
%else
%if "%{binutils_target}" == "epiphany" || "%{binutils_target}" == "nds32le" || "%{binutils_target}" == "rl78" || "%{binutils_target}" == "rx"
%define binutils_os %{canonical_target}-elf
%else
%if "%{binutils_target}" == "arm"
%define binutils_os %{canonical_target}-suse-linux-gnueabi
%else
%if 0%{?gcc_accel:1}
%define binutils_os %{gcc_target_arch}
%else
%define binutils_os %{canonical_target}-suse-linux
%endif
%endif
%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
%if %{suse_version} >= 1220
%define selfconflict() %1
%else
%define selfconflict() otherproviders(%1)
%endif
Name: %{pkgname}
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
BuildRequires: bison
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
%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
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools
ExclusiveArch: x86_64
%define nvptx_newlib 1
%endif
%endif
%if 0%{?gcc_icecream:1}
ExclusiveArch: ppc64le ppc64 x86_64 s390x aarch64
%endif
%define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
# file conflicts with it and is no longer packaged
%if "%pkgname" == "cross-ppc64-gcc49"
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
%endif
%if 0%{?gcc_target_newlib: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.
Conflicts: cross-%{cross_arch}-gcc7
%endif
#!BuildIgnore: gcc-PIE
BuildRequires: update-alternatives
Requires(post): update-alternatives
Requires(preun): update-alternatives
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 7.3.1+r258313
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -7
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{version}.tar.xz
Source1: change_spec
Source3: gcc7-rpmlintrc
Source4: README.First-for.SuSE.packagers
Source5: nvptx-newlib.tar.xz
Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff
Patch7: gcc48-libstdc++-api-reference.patch
Patch9: gcc48-remove-mpfr-2.4.0-requirement.patch
Patch10: gcc5-no-return-gcc43-workaround.patch
Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
Patch12: gcc7-stack-probe.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
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-obj, gcc-obj-c++ and gcc-go.
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
# %%cross_arch is supposed to be the rpm target variant arch
# %%TARGET_ARCH will be the canonicalized target CPU part
# %%HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%if 0%{?disable_32bit:1}
%define biarch 0
%else
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%endif
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%if 0%{?nvptx_newlib:1}
%setup -q -n gcc-%{version} -a 5
ln -s nvptx-newlib/newlib .
%else
%setup -q -n gcc-%{version}
%endif
#test patching start
%patch2
%patch5
%patch6
%patch7
%if %{suse_version} < 1310
%patch9
%endif
%patch10
%patch11
%patch12
%patch14
%patch15
%patch51
%patch60
%patch61
#test patching end
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# SLE11 does not allow empty rpms
%if %{suse_version} < 1310
echo "This is a dummy package to provide a dependency." > README
%endif
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector[^ ]*//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
# In general we want to ship release checking enabled compilers
# which is the default for released compilers
#ENABLE_CHECKING="--enable-checking=yes"
ENABLE_CHECKING="--enable-checking=release"
#ENABLE_CHECKING=""
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%%{hostsuffix}" GNATBIND="gnatbind%%{hostsuffix}"
# GNATMAKE="gnatmake%%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
cp -a /usr/bin/g++%{hostsuffix} host-tools/bin/g++
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
%if %{build_hsa} || %{build_nvptx}
--enable-offload-targets=\
%if %{build_hsa}
hsa,\
%endif
%if %{build_nvptx}
nvptx-none=%{_prefix}/nvptx-none, \
%endif
%endif
%if %{build_nvptx}
--without-cuda-driver \
%endif
$ENABLE_CHECKING \
--disable-werror \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
%ifnarch %mpx_arch
--disable-libmpx \
%endif
--disable-libcc1 \
%if %{enable_plugins}
--enable-plugin \
%else
--disable-plugin \
%endif
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
%if 0%{suse_version} <= 1320
--with-default-libstdcxx-abi=gcc4-compatible \
%endif
--enable-version-specific-runtime-libs \
--with-gcc-major-version-only \
--enable-linker-build-id \
--enable-linux-futex \
%if %{suse_version} >= 1315
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
--enable-gnu-indirect-function \
%endif
%endif
--program-suffix=%{binsuffix} \
%if 0%{?disable_32bit:1}
--disable-multilib \
%endif
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%endif
%endif
%if 0%{?binutils_os:1}
--with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if 0%{?gcc_target_newlib}
--with-newlib \
%if 0%{?gcc_libc_bootstrap:1}
--without-headers \
%endif
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%if "%{TARGET_ARCH}" == "nvptx"
--enable-as-accelerator-for=%{GCCDIST} \
--disable-sjlj-exceptions \
--enable-newlib-io-long-long \
%endif
%endif
%if "%{TARGET_ARCH}" == "arm"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
%if %{suse_version} >= 1350
--with-cpu=power8 \
--with-tune=power9 \
%else
%if %{suse_version} >= 1315 && %{suse_version} != 1320
--with-cpu=power8 \
--with-tune=power8 \
%else
--with-cpu=power7 \
--with-tune=power7 \
%endif
%endif
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--enable-targets=powerpcle-linux \
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
%if 0%{?sle_version:%sle_version} >= 150000
--with-arch-32=x86-64 \
%else
--with-arch-32=i586 \
%endif
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=x86-64 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
%if %{suse_version} >= 1310
--with-tune=zEC12 --with-arch=z196 \
%else
--with-tune=z9-109 --with-arch=z900 \
%endif
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
%if %{suse_version} >= 1310
--with-tune=zEC12 --with-arch=z196 \
%else
--with-tune=z9-109 --with-arch=z900 \
%endif
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1} && 0%{!?gcc_libc_bootstrap:1}
make %{?_smp_mflags}
%else
make %{?_smp_mflags} all-host
%endif
%if 0%{?gcc_icecream:%gcc_icecream}
%package -n cross-%cross_arch-gcc7-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc7-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%endif
%if 0%{?nvptx_newlib:1}
%package -n cross-nvptx-newlib7-devel
Summary: newlib for the nvptx offload target
Group: Development/Languages/C and C++
Provides: cross-nvptx-newlib-devel = %{version}-%{release}
Conflicts: cross-nvptx-newlib-devel
%description -n cross-nvptx-newlib7-devel
Newlib development files for the nvptx offload target compiler.
%endif
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
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
# install and fixup target parts
# debugedit is not prepared for this and crashes
%if 0%{?gcc_icecream:1}
# so expect the sysroot to be populated from natively built binaries
%else
%if 0%{!?gcc_libc_bootstrap:1}
export NO_BRP_STRIP_DEBUG=true
export NO_DEBUGINFO_STRIP_DEBUG=true
%define __debug_install_post %{nil}
: >../debugfiles.list
: >../debugsourcefiles.list
: >../debugsources.list
# 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}
# 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}/cc1plus
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
# also move things from target directories into the accel path since
# 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}
%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
%endif
# we provide update-alternatives for selecting a compiler version for
# crosses
%if 0%{!?gcc_accel:1}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
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
%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}-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} \
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix}
%postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then
%{_sbindir}/update-alternatives --remove %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix}
fi
%endif
%files
%defattr(-,root,root)
%if 0%{?gcc_accel:1}
%{_prefix}/bin/%{GCCDIST}-accel-%{gcc_target_arch}-*
%dir %{libsubdir}
%dir %{libsubdir}/accel
%{libsubdir}/accel/%{gcc_target_arch}
%else
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
%{_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}-gcov%{binsuffix}
%{_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}-cpp
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
%{_prefix}/bin/%{gcc_target_arch}-gcov
%{_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}-cpp
%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
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%endif
%if 0%{!?gcc_icecream:1} && 0%{!?gcc_libc_bootstrap:1} && 0%{?sysroot:1}
%{sysroot}
%endif
%if 0%{?gcc_icecream:%gcc_icecream}
%files -n cross-%cross_arch-gcc7-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%endif
%if 0%{?nvptx_newlib:1}
%files -n cross-nvptx-newlib7-devel
%defattr(-,root,root)
%{_prefix}/%{gcc_target_arch}
%endif
%changelog

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -47,16 +47,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -96,7 +100,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -124,13 +128,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -47,16 +47,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -96,7 +100,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -124,13 +128,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -46,16 +46,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -95,7 +99,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -123,13 +127,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
Requires: nvptx-tools

View File

@ -25,16 +25,20 @@
%define enable_plugins 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%if %{cross_arch} == "sparcv9"
%if "%{cross_arch}" == "arm-none"
%define binutils_target arm
%define build_cp 0
%endif
%if "%{cross_arch}" == "sparcv9"
%define binutils_target sparc
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
@ -74,7 +78,7 @@
%endif
Name: %{pkgname}
%if %{cross_arch} != "nvptx"
%if "%{cross_arch}" != "nvptx"
BuildRequires: cross-%{binutils_target}-binutils
Requires: cross-%{binutils_target}-binutils
%endif
@ -102,13 +106,13 @@ BuildRequires: libunwind-devel
%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"
%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
%if %{cross_arch} == "nvptx"
%if "%{cross_arch}" == "nvptx"
BuildRequires: nvptx-tools
Requires: nvptx-tools
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}