#
-# Conditional build:
-%bcond_with bootstrap # for bootstraping
-#
+# Conditional build:
+%bcond_with bootstrap # for bootstraping
+#
Summary: Cross AVR GNU binary utility development utilities - gcc
Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - AVR gcc
Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - AVR gcc
Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - AVR gcc
Summary(tr.UTF-8): GNU geliştirme araçları - AVR gcc
Name: crossavr-gcc
-Version: 4.3.5
-Release: 1
-Patch0: crossavr-gcc-bug-11259-v3.patch
-Patch1: crossavr-gcc-bug-18145.patch
-Patch2: crossavr-gcc-bug-19636-24894-31644-31786.patch
-Patch3: crossavr-gcc-bug-33009.patch
-Patch4: crossavr-gcc-bug-34210-35508.patch
-Patch5: crossavr-gcc-bug-35013.patch
-Patch6: crossavr-gcc-builtins-v6.patch
-Patch7: crossavr-gcc-libgcc.patch
-Patch8: crossavr-gcc-libiberty-Makefile.in.patch
-Patch9: crossavr-gcc-new-devices.patch
-Patch10: crossavr-gcc-param-inline-call-cost.patch
-Patch11: crossavr-gcc-xmega.patch
-Patch12: crossavr-gcc-osmain.patch
+Version: 4.6.2
+Release: 5
Epoch: 1
+Patch1: gcc-bug51969.patch
+# Patches 1xx are taken form Atmel official AVR8-GNU toolchain version 3.4.1.830
+Patch100: 200-gcc-libiberty-Makefile.in.patch
+Patch101: 300-gcc-fixedpoint-3-4-2010.patch
+Patch102: 301-gcc-xmega-v14.patch
+Patch103: 302-gcc-avrtiny10.patch
+Patch104: 303-gcc-osmain.patch
+Patch105: 304-gcc-builtins-v6.patch
+Patch106: 305-gcc-avrtiny10-non-fixedpoint.patch
+Patch107: 306-gcc-option-list-devices.patch
+Patch108: 307-gcc-avrtc536.patch
+Patch109: 308-gcc-avrtc537.patch
+Patch110: 400-gcc-new-devices.patch
+Patch111: 401-gcc-atmega32_5_50_90_pa.patch
+Patch112: 402-gcc-attiny1634.patch
+Patch113: 403-gcc-atmega48pa.patch
+Patch114: 404-gcc-atxmega_16_32_a4u.patch
+Patch115: 405-gcc-atxmega64_128_192_256a3u.patch
+Patch116: 406-gcc-atmegarfr2_a2.patch
+Patch117: 407-gcc-atmega165pa.patch
+Patch118: 408-gcc-atxmega384c3.patch
+Patch119: 410-gcc-atxmega128a4u.patch
+Patch120: 411-gcc-atxmega64d4.patch
+Patch121: 412-gcc-atmega164pa_168pa_32a_64a.patch
+Patch122: 413-gcc-atxmega64_128_b3.patch
+Patch123: 414-gcc-atxmega64b1.patch
+Patch124: 415-gcc-atmega_8a_128a_1284.patch
+Patch125: 416-gcc-atxmega64a4u.patch
+Patch126: 417-gcc-atxmega128d4.patch
+Patch127: 418-gcc-atmxt336s.patch
+Patch128: 419-gcc-atxmega16c4_32c4_128c3_256c3.patch
+Patch129: 420-gcc-atxmega384d3.patch
+Patch130: 421-gcc-atmega48hvf.patch
+Patch131: 422-gcc-atmega26hvg.patch
+Patch132: 423-gcc-atmxt224_224e.patch
+Patch133: 424-gcc-atxmega192c3.patch
+Patch134: 425-gcc-atmxt112sl.patch
+Patch135: 426-gcc-atxmega64c3.patch
+Patch136: 427-gcc-ata6285_6286.patch
+Patch137: 428-gcc-attiny828.patch
+Patch138: 429-gcc-ata5790_5790n_5795.patch
+Patch139: 430-gcc-ata5272_ata5505.patch
+Patch140: 431-gcc-atmxt540s.patch
+Patch141: 432-gcc-ata5831.patch
+Patch142: 433-gcc-attiny841.patch
+Patch143: 434-gcc-atxmega32_16_8e5.patch
+Patch144: 500-gcc-bug13473.patch
+Patch145: 501-gcc-avrtiny10-bug-12510.patch
+Patch146: 502-gcc-bug12915.patch
+Patch147: 503-gcc-bug13789.patch
+Patch148: 504-gcc-conditional-register.patch
+Patch149: 505-gcc-avrtc381-tiny.patch
+Patch150: 506-gcc-avrtc541.patch
+Patch151: 507-gcc-avrtc-518.patch
+Patch152: 508-gcc-avrtc514-tiny.patch
+Patch153: 509-gcc-AVRTC-544-call-used-registers-tiny10.patch
+Patch154: 510-gcc-avrtc496-tiny.patch
+Patch155: 511-gcc-avrtc539-backported.patch
+Patch156: 512-gcc-avrtc542.patch
+Patch157: 513-gcc-avrtc556-tiny-same-base-and-dest.patch
+Patch158: 514-gcc-avrtc558.patch
+Patch159: 515-gcc-avrtc446.patch
License: GPL
Group: Development/Languages
Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5: e588cfde3bf323f82918589b94f14a15
+# Source0-md5: 028115c4fbfb6cfd75d6369f4a90d87e
BuildRequires: /bin/bash
BuildRequires: autoconf
BuildRequires: bison
BuildRequires: crossavr-binutils
+BuildRequires: elfutils-devel >= 0.145-1
BuildRequires: flex
BuildRequires: gmp-devel >= 4.1
+BuildRequires: libmpc-devel
BuildRequires: mpfr-devel >= 2.3.0
BuildRequires: perl-tools-pod
+BuildRequires: rpmbuild(macros) >= 1.565
+BuildRequires: sed >= 4.0
Requires: crossavr-binutils >= 2.15.91.0.2
%{!?with_bootstrap:Requires: crossavr-libc}
Requires: gcc-dirs
%define gcclib %{_libdir}/gcc/%{target}/%{version}
%define _noautostrip .*%{gcclib}.*/libgc.*\\.a
+# functions with printf format attribute but with special parser and also
+# receiving non constant format strings
+%define Werror_cflags %{nil}
+
%description
This package contains a cross-gcc which allows the creation of
binaries to be run on Atmel AVR on other machines.
%prep
%setup -q -n gcc-%{version}
-%patch0 -p0
-%patch1 -p0
-%patch2 -p0
-%patch3 -p0
-%patch4 -p0
-%patch5 -p0
-%patch6 -p0
-%patch7 -p0
-%patch8 -p0
-%patch9 -p0
-%patch10 -p0
-%patch11 -p0
-%patch12 -p0
+cd gcc/config/%{target} && %undos -f c,h && cd -
+%patch1 -p2
+%patch100 -p0
+%patch101 -p0
+%patch102 -p0
+%patch103 -p0
+%patch104 -p0
+%patch105 -p0
+%patch106 -p0
+%patch107 -p0
+%patch108 -p0
+%patch109 -p0
+%patch110 -p0
+%patch111 -p0
+%patch112 -p0
+%patch113 -p0
+%patch114 -p0
+%patch115 -p0
+%patch116 -p0
+%patch117 -p0
+%patch118 -p0
+%patch119 -p0
+%patch120 -p0
+%patch121 -p0
+%patch122 -p0
+%patch123 -p0
+%patch124 -p0
+%patch125 -p0
+%patch126 -p0
+%patch127 -p0
+%patch128 -p0
+%patch129 -p0
+%patch130 -p0
+%patch131 -p0
+%patch132 -p0
+%patch133 -p0
+%patch134 -p0
+%patch135 -p0
+%patch136 -p0
+%patch137 -p0
+%patch138 -p0
+%patch139 -p0
+%patch140 -p0
+%patch141 -p0
+%patch142 -p0
+%patch143 -p0
+%patch144 -p0
+%patch145 -p0
+%patch146 -p0
+%patch147 -p0
+%patch148 -p0
+%patch149 -p0
+%patch150 -p0
+%patch151 -p0
+%patch152 -p0
+%patch153 -p0
+%patch154 -p0
+%patch155 -p0
+%patch156 -p0
+%patch157 -p0
+%patch158 -p0
+%patch159 -p0
%build
rm -rf obj-%{target}
--bindir=%{_bindir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
+ --enable-c99 \
+ --enable-languages="c,c++" \
+ --enable-long-long \
+ --enable-lto \
--disable-shared \
--disable-libssp \
- --enable-languages="c,c++" \
--with-dwarf2 \
--with-gnu-as \
--with-gnu-ld \
rm -f $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/{gcc,cpplib}.mo
rm -rf $RPM_BUILD_ROOT%{gcclib}/include-fixed
rm -rf $RPM_BUILD_ROOT%{gcclib}/install-tools
+rm -f $RPM_BUILD_ROOT%{gcclib}/liblto_plugin.la
%if 0%{!?debug:1}
# strip target libraries
%dir %{gcclib}
%attr(755,root,root) %{gcclib}/cc1
%attr(755,root,root) %{gcclib}/collect2
+%attr(755,root,root) %{gcclib}/lto-wrapper
+%attr(755,root,root) %{gcclib}/lto1
+%attr(755,root,root) %{gcclib}/liblto_plugin.so*
%{gcclib}/libg*.a
%{gcclib}/%{target}*
+%{gcclib}/plugin
%dir %{gcclib}/include
%{gcclib}/include/*.h
%{_mandir}/man1/%{target}-cpp.1*