Summary: SPU binary utilities Name: spu-binutils Version: 2.17.50 Release: 33 License: GPL Group: Cell Development Tools Source0: binutils-2.17.50-20070401.tar.bz2 Patch1: spuear.diff Patch2: needs_ovl_stub.diff Patch3: cellnop.diff Patch4: stackanal.diff Patch5: warnlib.diff Patch6: spu_ppu_reloc.diff Patch7: spu_addr16x.diff Patch8: backend_reloc.diff Patch9: spuovl_sym.diff Patch10: embed_relro.diff Patch11: targetsel.diff Patch12: spu_ppu_fix.diff Patch13: ovl_manager.diff Patch14: spuear_hex.diff Patch15: embed_invoke.diff Patch16: keep_note.diff Patch17: embed_shinfo.diff Patch18: linknext.diff Patch19: spu_name.diff Patch20: msdos_quote.diff Patch21: ld_embed_segfault.diff Patch22: overlay_dot.diff Patch23: spu_core_note.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/toolchain %define _mandir %{_prefix}/man %define _infodir %{_prefix}/info %define with_sysroot --with-sysroot=/opt/cell/sysroot %endif %prep %setup -c -q %patch1 -p0 %patch2 -p0 %patch3 -p0 %patch4 -p0 %patch5 -p0 %patch6 -p0 %patch7 -p0 %patch8 -p0 %patch9 -p0 %patch10 -p0 %patch11 -p0 %patch12 -p0 %patch13 -p0 %patch14 -p0 %patch15 -p0 %patch16 -p0 %patch17 -p0 %patch18 -p0 %patch19 -p0 %patch20 -p0 %patch21 -p0 %patch22 -p0 %patch23 -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" 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} \ %{?with_sysroot} \ --disable-shared --disable-nls --disable-werror \ --program-prefix=%{spu_prefix} \ --target=%{spu_target_platform} --enable-64-bit-bfd 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{,64}/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 Sep 7 2007 Alan Modra 2.17.50-33 - Build with --enable-64-bit-bfd * Wed Aug 29 2007 Alan Modra 2.17.50-32 - Teach bfd and readelf about SPU core file notes. - Testsuite fix. * Fri Jul 13 2007 Alan Modra 2.17.50-31 - Ensure empty last overlay section updates dot properly. * Thu Jul 12 2007 Alan Modra 2.17.50-30 - Fix ld segfault on automatic embed. * Tue Jul 3 2007 Alan Modra 2.17.50-29 - Correct backslash quoting. * Fri Jun 29 2007 Alan Modra 2.17.50-28 - Correct .note.spu_name section sh_type. * Wed Jun 27 2007 Alan Modra 2.17.50-27 - Fix iteration over input bfds looking for user supplied .note.spu_name. * Thu Jun 21 2007 Alan Modra 2.17.50-26 - Fix embedspu for SPU executables with more than 10 sections. * Wed Jun 20 2007 Alan Modra 2.17.50-25 - Stop --gc-sections discarding .note.spu_name. #35612 * Mon Jun 18 2007 Alan Modra 2.17.50-24 - Fix embedspu _SPUEAR_ scan of sym addresses. #35306 - Invoke embedspu from ld with prefix. - Fix spu overlay manager infinite loop. #35453 * Tue Jun 5 2007 Alan Modra 2.17.50-23 - support ".long @ppu", fix defined_sym@ppu. * Thu May 31 2007 Alan Modra 2.17.50-22 - Don't attempt to add ppu support to spu binutils via targ_selvecs. #35051 * Tue May 29 2007 Alan Modra 2.17.50-21 - Set __rv_pattern, __cg_pattern overlay manager syms type and size. - Emit SPU ELF image to .data.rel.ro.speelf if needed. * Fri May 18 2007 Ulrich Weigand 2.17.50-20 - Change cross-prefix to /opt/cell/toolchain. Do not change sysroot. - Change group tag to "Cell Development Tools". * Fri May 18 2007 Alan Modra 2.17.50-19 - Fix reloc handling around elf_backend_count_relocs. #34714 * Sat May 12 2007 Alan Modra 2.17.50-18 - Fix spu @ppu reloc numbering. * Sat May 12 2007 Alan Modra 2.17.50-17 - Apply ppu specific patch. @ppu reloc support. * Wed May 9 2007 Ben Elliston 2.17.50-16 - Remove lib64/libiberty.a on 64-bit hosts. * Fri May 4 2007 Alan Modra 2.17.50-15 - Optionally silence "skipping incompatible lib". #32705 * Tue May 1 2007 Alan Modra 2.17.50-14 - TCN3011. SPU stack analysis. * Thu Apr 12 2007 Alan Modra 2.17.50-13 - Fix spu-ld segfault. #33824 * Wed Apr 11 2007 Alan Modra 2.17.50-12 - Fix _SPUEAR_ symbols in overlays. * Mon Apr 2 2007 Ben Elliston 2.17.50-11 - Update Source0 directive to use a newer binutils snapshot. * Thu Mar 8 2007 Ben Elliston 2.17.50-10 - Do not remove src/ld/emultempl/spu_ovl.o; the version in the source tarball is acceptable. * Wed Mar 7 2007 Ben Elliston 2.17.50-9 - Update Source0 directive to use a newer binutils snapshot. - Remove all local patches. - Do not include -DBPA in $CC. * 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.