#
-# TODO:
-# - http://gcc.gnu.org/PR11203 (inline-asm)
-# - http://gcc.gnu.org/PR20128 (ice with mudflap + profile generate)
-#
# Conditional build:
%bcond_without ada # build without ADA support
%bcond_without cxx # build without C++ support
%bcond_without objc # build without Objective-C support
%bcond_without objcxx # build without Objective-C++ support
%bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
-%bcond_without profiling # build without profiling
+%bcond_with profiling # build with profiling
%bcond_without bootstrap # omit 3-stage bootstrap
%bcond_with tests # torture gcc
-# debuginfo not needed for devel snaps.
-%define _enable_debug_packages 0
-
%if %{with multilib}
# the latest chrpath(64) can't handle 32-bit binaries :/
%define _noautochrpath .*/lib/.*\\.so.*
Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
Name: gcc
Version: 4.1.0
-%define _snap 20050722T2023UTC
+%define _snap 20051104r106487
Release: 0.%{_snap}.1
Epoch: 5
License: GPL v2+
#Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
#Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-%{_snap}/gcc-4.1-%{_snap}.tar.bz2
Source0: gcc-4.1-%{_snap}.tar.bz2
-# Source0-md5: 8777b16adae820774fbacee281be783b
+# Source0-md5: 80313bcff75d44013b4f21ee18414515
Source1: %{name}-optimize-la.pl
Patch0: %{name}-info.patch
Patch1: %{name}-nolocalefiles.patch
Patch3: %{name}-ada-link-new-libgnat.patch
Patch4: %{name}-ada-link.patch
Patch5: %{name}-alpha-ada_fix.patch
-Patch6: %{name}-keep-volatile-sematics.patch
+# -fvisibility fixes...
+Patch6: %{name}-pr19664_gnu_internal.patch
+Patch7: %{name}-pr19664_libstdc++.patch
+
# PRs
Patch10: %{name}-pr7776.patch
Patch11: %{name}-pr20297.patch
-Patch12: %{name}-pr22484.patch
-Patch13: %{name}-pr22493.patch
-Patch14: %{name}-pr22037.patch
+
+Patch13: %{name}-pr22533.patch
+Patch14: %{name}-x87-mmx-switch.patch
+Patch15: %{name}-x87-mmx-eh.patch
+Patch16: %{name}-pr23948.patch
+Patch17: %{name}-pr19505.patch
+Patch18: %{name}-pr24419.patch
URL: http://gcc.gnu.org/
BuildRequires: autoconf
%{?with_tests:BuildRequires: autogen}
%define _libdir32 /usr/lib
%endif
-%ifarch i686
-# workaround PR wrong-code/22584
-%define optflags -march=i486 -O2
-%endif
-
%description
A compiler aimed at integrating all the optimizations and features
necessary for a high-performance and stable development environment.
%prep
#setup -q -n gcc-%{version}
-%setup -q -n gcc-4.1-%{_snap}
+%setup -q -n gcc
%patch0 -p1
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
+
+# -fvisbility fixes...
%patch6 -p1
+%patch7 -p1
# PRs
%patch10 -p1
%patch11 -p1
-%patch12 -p1
+
%patch13 -p1
-%patch14 -p1
+#patch14 -p1 NEEDS UPDATE
+#patch15 -p1 NEEDS UPDATE
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
# because we distribute modified version of gcc...
perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
mandir=%{_mandir} \
infodir=%{_infodir}
-%{?with_tests:%{__make} -k -C obj-%{_target_platform} check}
+%{?with_tests:%{__make} -k -C obj-%{_target_platform} check 2>&1 ||:}
%install
rm -rf $RPM_BUILD_ROOT
# by fixincludes, we don't want former
gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
mkdir $gccdir/tmp
+
# we have to save these however
-%{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jvmpi.h} $gccdir/tmp}
-%{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
-mv -f $gccdir/include/syslimits.h $gccdir/tmp
-rm -rf $gccdir/include
-mv -f $gccdir/tmp $gccdir/include
-cp -f $gccdir/install-tools/include/*.h $gccdir/include
+%{?with_java:mv $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jni_md.h,jvmpi.h} $gccdir/tmp}
+%{?with_objc:mv $gccdir/include/objc $gccdir/tmp}
+mv $gccdir/include/syslimits.h $gccdir/tmp
+rm -rf $gccdir/include
+mv $gccdir/tmp $gccdir/include
+cp $gccdir/install-tools/include/*.h $gccdir/include
# but we don't want anything more from install-tools
-rm -rf $gccdir/install-tools
+rm -rf $gccdir/install-tools
%if %{with multilib}
-ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
+ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
%endif
-ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
+ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
%find_lang gcc
%{?with_cxx:%find_lang libstdc\+\+}
%{_libdir}/libssp.la
%attr(755,root,root) %{_libdir}/libssp.a
%attr(755,root,root) %{_libdir}/libssp.so
-#{_libdir}/libssp_nonshared.*
+%{_libdir}/libssp_nonshared.a
+%{_libdir}/libssp_nonshared.la
%if %{with multilib}
%dir %{_libdir}/gcc/*/*/32
%{_libdir}/gcc/*/*/32/libgcov.a
%{_libdir32}/libssp.la
%attr(755,root,root) %{_libdir32}/libssp.a
%attr(755,root,root) %{_libdir32}/libssp.so
-#{_libdir32}/libssp_nonshared.*
+%{_libdir32}/libssp_nonshared.a
+%{_libdir32}/libssp_nonshared.la
%endif
%{_libdir}/gcc/*/*/libgcov.a
%{_libdir}/gcc/*/*/libgcc.a
%attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
%{_infodir}/fastjar*
%{_infodir}/gcj*
-%{_infodir}/hacking*
-%{_infodir}/vmintegration*
%{_mandir}/man1/fastjar*
%{_mandir}/man1/gcj*
%{_mandir}/man1/gjnih*
%{_libdir}/gcc/*/*/include/gcj
%{_libdir}/gcc/*/*/include/jawt.h
%{_libdir}/gcc/*/*/include/jawt_md.h
+%{_libdir}/gcc/*/*/include/jni.h
%{_libdir}/gcc/*/*/include/jvmpi.h
%dir %{_libdir}/security
%{_libdir}/security/*