Summary: SPU binary utilities Name: spu-binutils Version: 2.17.50 Release: 8 License: GPL Group: Development/Languages Source0: binutils-2.17.50-20070112.tar.bz2 Patch1: binutils-soma.diff Patch2: binutils-embed.diff Patch3: binutils-spuerr.diff Patch4: binutils-ppc64reloc.diff Patch5: binutils-execstack.diff Patch6: binutils-miscfixes.diff Patch7: binutils-bin2c.diff Patch8: binutils-spuovl.diff Patch9: binutils-embedsym.diff Patch10: binutils-cygbuild.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: dejagnu, bison, flex, texinfo %define _unpackaged_files_terminate_build 1 %description The spu-binutils package contains GNU binutils version 2.17.50. # Don't strip as the host binutils may be unable to handle SPU objects. %define __os_install_post /usr/lib/rpm/brp-compress # When building the cross-toolchain, reset prefix directory and use sysroot %ifnarch ppc ppc64 %define _prefix /opt/cell %define _mandir %{_prefix}/man %define _infodir %{_prefix}/info %define with_sysroot 1 %else %define with_sysroot 0 %endif %prep %setup -c -q %patch1 -p0 %patch2 -p0 %patch3 -p0 %patch4 -p0 %patch5 -p0 %patch6 -p0 %patch7 -p0 -E %patch8 -p0 %patch9 -p0 %patch10 -p0 # Don't build gprof. rm -rf src/gprof # Delete out of date file. rm -f src/ld/emultempl/spu_ovl.o %build %define spu_target_platform spu %define spu_prefix spu- rm -fr obj-%{spu_target_platform} mkdir obj-%{spu_target_platform} cd obj-%{spu_target_platform} OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'` SPU_OPT_FLAGS="-O2 -g -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" CC="gcc $OPT_FLAGS -DBPA" CC="$CC" CFLAGS="$SPU_OPT_FLAGS" CXXFLAGS="$SPU_OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$SPU_OPT_FLAGS" \ ../src/configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ %if %{with_sysroot} --with-sysroot=%{_prefix}/sysroot \ %endif --disable-shared --disable-nls --disable-werror \ --program-prefix=%{spu_prefix} \ --target=%{spu_target_platform} make %{?_smp_mflags} %install rm -fr $RPM_BUILD_ROOT cd obj-%{spu_target_platform} TARGET_PLATFORM=%{spu_target_platform} make DESTDIR=$RPM_BUILD_ROOT install # Fix ups. rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a # Remove Windows/Novell only man pages rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{spu_prefix}{dlltool,nlmconv,windres}* # Info and man7 files conflict with host toolchain files, # just remove them for now. rm -rf $RPM_BUILD_ROOT%{_infodir} rm -rf $RPM_BUILD_ROOT%{_mandir}/man7 cd .. %clean rm -rf $RPM_BUILD_ROOT %files -n spu-binutils %defattr(-,root,root) %dir %{_prefix} %dir %{_prefix}/bin %dir %{_mandir} %dir %{_mandir}/man1 %{_prefix}/bin/%{spu_prefix}addr2line %{_prefix}/bin/%{spu_prefix}ar %{_prefix}/bin/%{spu_prefix}as %{_prefix}/bin/%{spu_prefix}c++filt %{_prefix}/bin/%{spu_prefix}ld %{_prefix}/bin/%{spu_prefix}nm %{_prefix}/bin/%{spu_prefix}objcopy %{_prefix}/bin/%{spu_prefix}objdump %{_prefix}/bin/%{spu_prefix}ranlib %{_prefix}/bin/%{spu_prefix}readelf %{_prefix}/bin/%{spu_prefix}size %{_prefix}/bin/%{spu_prefix}strings %{_prefix}/bin/%{spu_prefix}strip %dir %{_prefix}/%{spu_target_platform} %dir %{_prefix}/%{spu_target_platform}/bin %dir %{_prefix}/%{spu_target_platform}/lib %{_prefix}/%{spu_target_platform}/bin/* %{_prefix}/%{spu_target_platform}/lib/ldscripts %{_mandir}/man1/%{spu_prefix}addr2line.1* %{_mandir}/man1/%{spu_prefix}ar.1* %{_mandir}/man1/%{spu_prefix}as.1* %{_mandir}/man1/%{spu_prefix}c++filt.1* %{_mandir}/man1/%{spu_prefix}ld.1* %{_mandir}/man1/%{spu_prefix}nm.1* %{_mandir}/man1/%{spu_prefix}objcopy.1* %{_mandir}/man1/%{spu_prefix}objdump.1* %{_mandir}/man1/%{spu_prefix}ranlib.1* %{_mandir}/man1/%{spu_prefix}readelf.1* %{_mandir}/man1/%{spu_prefix}size.1* %{_mandir}/man1/%{spu_prefix}strings.1* %{_mandir}/man1/%{spu_prefix}strip.1* %changelog * Fri Mar 02 2007 Alan Modra 2.17.50-8 - cygwin build fix. * Thu Mar 01 2007 Alan Modra 2.17.50-7 - Fix #32302 * Thu Mar 01 2007 Alan Modra 2.17.50-6 - Arrange for new ld/emultemp/spu_ovl.o to be built. * Wed Feb 28 2007 Alan Modra 2.17.50-5 - Stop embedspu truncating symbol names. #21673 - Fix spu-ld segfault. #31896 - ppc64 --emit-relocs fix. #27823 - Default ppc64 object file without .note.GNU-stack to non-execstack. - A bunch of miscellaneous fixes from binutils mainline. - Cross-compile build fixes for spu-ld. * Mon Jan 22 2007 Ben Elliston 2.17.50-4 - Change the cross-prefix to /opt/cell. * Thu Jan 18 2007 Ben Elliston 2.17.50-3 - Do configure the tree with --disable-werror after all. It is just too problematic! * Fri Jan 12 2007 Ben Elliston 2.17.50-2 - Do not configure the tree with --disable-werror. * Fri Jan 12 2007 Ben Elliston 2.17.50-1 - Produce a new binutils RPM from the monolithic toolchain RPM.