Index: SPECS/gcc41.spec =================================================================== --- SPECS.orig/gcc41.spec +++ SPECS/gcc41.spec @@ -9,10 +9,10 @@ %else %define build_ada 0 %endif -%define build_fortran 1 -%define build_java 1 -%define build_objc 1 -%define run_tests 1 +%define build_fortran 0 +%define build_java 0 +%define build_objc 0 +%define run_tests 0 %ifarch s390x %define multilib_32_arch s390 %endif @@ -28,7 +28,7 @@ Summary: Various compilers (C, C++, Objective-C, Java, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release} +Release: %{gcc_release}.fa1 License: GPL Group: Development/Languages Source0: gcc-%{version}-%{DATE}.tar.bz2 @@ -43,7 +43,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version # Need binutils which support .weakref >= 2.16.91.0.3-1 # Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7 # Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8 -BuildRequires: binutils >= 2.17.50.0.2-8 +# Need binutils which support 2-argument .movsp >= 2.17.50.0.5 +BuildRequires: binutils >= 2.17.50.0.5 BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils %if %{build_java} BuildRequires: gcc-java, libgcj, /usr/share/java/eclipse-ecj.jar, zip, unzip @@ -78,7 +79,8 @@ Requires: cpp = %{version}-%{release} # Need binutils that support .weakref # Need binutils that supports --hash-style=gnu # Need binutils that support mffgpr/mftgpr -Requires: binutils >= 2.17.50.0.2-8 +# Need binutils that support 2-argument .movsp >= 2.17.50.0.5 +Requires: binutils >= 2.17.50.0.5 # Make sure gdb will understand DW_FORM_strp Conflicts: gdb < 5.1-2 Requires: glibc-devel >= 2.2.90-12 @@ -148,8 +150,16 @@ Patch33: gcc41-pr28482.patch Patch34: gcc41-rh235008.patch Patch35: gcc41-pr31748.patch Patch36: gcc41-tls-data-alignment.patch - +Patch37: gcc41-arm-config-guess-fix.patch +Patch38: gcc41-armeabi-floatundi-redefine.patch +Patch39: gcc41-pr28516.patch +Patch40: gcc41-unbreak-armv4t.patch + +# On ARM EABI systems, we do want -gnueabi to be part of the +# target triple. +%ifnarch %{arm} %define _gnu %{nil} +%endif %ifarch sparc %define gcc_target_platform sparc64-%{_vendor}-%{_target_os} %endif @@ -463,6 +473,12 @@ which are required to run programs compi %patch34 -p0 -b .rh235008~ %patch35 -p0 -b .pr31748~ %patch36 -p0 -b .tls-data-alignment~ +%patch37 -p0 -b .armconfig~ +%patch38 -p0 -b .armsymbol~ +%patch39 -p0 -b .pr28516~ +%ifarch armv4tb armv4tl +%patch40 -p0 -b .armv4t~ +%endif sed -i -e 's/4\.1\.3/4.1.2/' gcc/BASE-VER gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c @@ -1032,9 +1048,11 @@ exec gcc $fl ${1+"$@"} EOF chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9 +%ifnarch %{arm} mkdir -p $RPM_BUILD_ROOT%{_prefix}/sbin gcc -static -Os %{SOURCE1} -o $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade strip $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade +%endif cd .. %find_lang %{name} @@ -1132,10 +1150,12 @@ if [ $1 = 0 ]; then --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || : fi +%ifnarch %{arm} # Because glibc Prereq's libgcc and /sbin/ldconfig # comes from glibc, it might not exist yet when # libgcc is installed %post -n libgcc -p %{_prefix}/sbin/libgcc_post_upgrade +%endif %post -n libstdc++ -p /sbin/ldconfig @@ -1283,7 +1303,9 @@ fi %defattr(-,root,root) /%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 /%{_lib}/libgcc_s.so.1 +%ifnarch %{arm} %{_prefix}/sbin/libgcc_post_upgrade +%endif %doc gcc/COPYING.LIB %files c++