%define gcc_version 4.1.1 %define _unpackaged_files_terminate_build 1 Summary: PPU compiler Name: ppu-gcc Version: %{gcc_version} Release: 10 License: GPL Group: Development/Languages Source0: toolchain-3.4-src.tar.bz2 Source1: gcc-fortran-%{gcc_version}.tar.bz2 Patch1: diff-gcc-reduc-patterns-and-multitypes Patch2: toolchain-gcc-removeflag.diff Patch3: toolchain-pr28862-fix.diff Patch4: toolchain-intrinsic-mapping.diff Patch5: toolchain-altivec-keyword-fix.diff Patch6: toolchain-builtin-ppu-macro.diff Patch7: toolchain-testsuite-mechanical.diff Patch8: toolchain-m32-m64-multilib-only.diff Patch9: toolchain-test-fixes-set1.diff Patch10: toolchain-build-revert.diff Patch11: diff-gcc-min-vect-loop-bound Patch12: toolchain-install-ppu-intrinsics.diff Patch13: toolchain-test-fixes-set2.diff Patch14: toolchain-remove-dcbi-intrinsic.diff Patch15: toolchain-ppu-intrinsics-fixes.diff Patch16: toolchain-vector-init.diff Patch17: toolchain-ldbl-default-ppc.diff Patch18: toolchain-ppc64-ldouble-stdarg.diff Patch19: toolchain-vector-init-headers.diff Patch20: diff-sms-enable Patch21: toolchain-pr28467-fix.diff Patch22: toolchain-pr28570-fix.diff Patch23: toolchain-pr27496-fix.diff Patch24: toolchain-pr27465-fix.diff Patch25: toolchain-pr28020-fix.diff Patch26: toolchain-rfc00078-2.diff Patch27: diff-empty-latch-block Patch28: toolchain-pr29006-fix.diff Patch29: toolchain-intrinsic-volatile.diff Patch30: toolchain-pr28366-fix.diff Patch31: toolchain-mcpucell.diff Patch32: toolchain-pr29347-fix.diff Patch33: toolchain-rfc00089-0.diff Patch34: toolchain-celledp-intrinsics.diff Patch35: toolchain-pr30342-fix.diff Patch36: toolchain-pr31644-fix.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: binutils >= 2.15.91.0.2-4 BuildRequires: ppu-binutils >= 2.17.50 BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo BuildRequires: glibc-devel >= 2.2.90-12 Requires: binutils >= 2.15.91.0.2-4 Requires: glibc-devel >= 2.2.90-12 # Don't strip as the host binutils may be unable to handle PPU 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 %if %{with_sysroot} BuildRequires: ppu-sysroot, ppu-sysroot64 Requires: ppu-sysroot, ppu-sysroot64 %endif AutoProv: no AutoReq: no %description GNU Compiler Collection for the Cell Broadband Engine PPU. %package -n ppu-gcc-c++ Summary: C++ support for PPU compiler Group: Development/Languages Requires: ppu-gcc = %{version}-%{release} AutoProv: no AutoReq: no %description -n ppu-gcc-c++ GNU Compiler Collection C++ compiler for Cell Broadband Engine PPU. %package -n ppu-gcc-fortran Summary: Fortran support for PPU compiler Group: Development/Languages Requires: ppu-gcc = %{version}-%{release} BuildRequires: gmp-devel >= 4.1.2-8 Requires: gmp >= 4.1.2-8 AutoProv: no AutoReq: no %description -n ppu-gcc-fortran GNU Compiler Collection Fortran compiler for Cell Broadband Engine PPU. %prep %setup -c -q -a 1 %patch1 -p0 -E %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 %patch24 -p0 %patch25 -p0 %patch26 -p0 %patch27 -p0 %patch28 -p0 %patch29 -p0 %patch30 -p0 %patch31 -p0 %patch32 -p0 %patch33 -p0 %patch34 -p0 %patch35 -p0 %patch36 -p0 pushd toolchain/gcc ./contrib/gcc_update --touch popd # Fortran frontend directories should be moved to gcc src tree mv gcc-%{gcc_version}/gcc/fortran/ toolchain/gcc/gcc/ mv gcc-%{gcc_version}/libgfortran/ toolchain/gcc/ rm -rf gcc-%{gcc_version} %build %define ppu_target_platform ppu %define ppu_prefix ppu- %define ppu32_prefix ppu32- rm -fr obj-%{ppu_target_platform} mkdir obj-%{ppu_target_platform} cd obj-%{ppu_target_platform} OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'` PPU_OPT_FLAGS="-O2 -g -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" CC=gcc CC="$CC" CFLAGS="$PPU_OPT_FLAGS" CXXFLAGS="$PPU_OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$PPU_OPT_FLAGS" \ ../toolchain/gcc/configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ %if %{with_sysroot} --with-sysroot=%{_prefix}/sysroot \ %endif --with-as=%{_prefix}/bin/%{ppu_prefix}as \ --with-ld=%{_prefix}/bin/%{ppu_prefix}ld \ --enable-threads --disable-checking --with-system-zlib \ --enable-__cxa_atexit --disable-libunwind-exceptions \ --enable-languages=c,c++,fortran --disable-nls \ --enable-version-specific-runtime-libs \ --with-long-double-128 \ --program-prefix=%{ppu_prefix} --target=%{ppu_target_platform} \ --enable-targets=spu make %{?_smp_mflags} cd .. %install rm -fr $RPM_BUILD_ROOT cd obj-%{ppu_target_platform} TARGET_PLATFORM=%{ppu_target_platform} # There are some MP bugs in libstdc++ and libjava Makefiles make -C %{ppu_target_platform}/libstdc++-v3 make DESTDIR=$RPM_BUILD_ROOT install FULLPATH=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version} # fix some things ln -sf %{ppu_prefix}gcc $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu_prefix}cc #gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info* rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu_target_platform}-%{ppu_prefix}* rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu_prefix}gcc-%{gcc_version} rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu_prefix}gccbug rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a rm -f $RPM_BUILD_ROOT%{_prefix}/lib/32/libiberty.a rm -f $RPM_BUILD_ROOT%{_prefix}/%{ppu_target_platform}/lib/libiberty.a rm -f $RPM_BUILD_ROOT%{_prefix}/%{ppu_target_platform}/lib64/libiberty.a rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/install-tools rm -rf $RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version}/install-tools rm -f $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/*.la rm -f $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/*.la mv $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/lib/* $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/ mv $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/lib64/* $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/ rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/lib rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/lib64 mv $RPM_BUILD_ROOT%{_prefix}/include/mf-runtime.h $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include for h in `find $FULLPATH/include -name \*.h`; do if grep -q 'It has been auto-edited by fixincludes from' $h; then rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'` diff -up $rh $h || : rm -f $h fi done cat > $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu_prefix}c89 <<"EOF" #!/bin/sh fl="-std=c89" for opt; do case "$opt" in -ansi|-std=c89|-std=iso9899:1990) fl="";; -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 exit 1;; esac done exec %{_prefix}/bin/%{ppu_prefix}gcc $fl ${1+"$@"} EOF cat > $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu_prefix}c99 <<"EOF" #!/bin/sh fl="-std=c99" for opt; do case "$opt" in -std=c99|-std=iso9899:1999) fl="";; -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 exit 1;; esac done exec %{_prefix}/bin/%{ppu_prefix}gcc $fl ${1+"$@"} EOF chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu_prefix}c?9 # Create ppu32- wrapper scripts cat > $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu32_prefix}gcc <<"EOF" #!/bin/sh exec $(dirname $0)/%{ppu_prefix}gcc -m32 -mabi=altivec -maltivec ${1+"$@"} EOF cat > $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu32_prefix}g++ <<"EOF" #!/bin/sh exec $(dirname $0)/%{ppu_prefix}g++ -m32 -mabi=altivec -maltivec ${1+"$@"} EOF chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/%{ppu32_prefix}* # 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 ppu-gcc %defattr(-,root,root) %dir %{_prefix} %dir %{_prefix}/bin %dir %{_mandir} %dir %{_mandir}/man1 %{_prefix}/bin/%{ppu_prefix}cc %{_prefix}/bin/%{ppu_prefix}c89 %{_prefix}/bin/%{ppu_prefix}c99 %{_prefix}/bin/%{ppu_prefix}gcc %{_prefix}/bin/%{ppu_prefix}gcov %{_prefix}/bin/%{ppu_prefix}cpp %{_prefix}/bin/%{ppu32_prefix}gcc %{_mandir}/man1/%{ppu_prefix}gcc.1* %{_mandir}/man1/%{ppu_prefix}gcov.1* %{_mandir}/man1/%{ppu_prefix}cpp.1* %dir %{_prefix}/libexec %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{ppu_target_platform} %dir %{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version}/cc1 %{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version}/collect2 %dir %{_prefix}/lib %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{ppu_target_platform} %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version} %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/ssp %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/stddef.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/stdarg.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/varargs.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/float.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/limits.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/stdbool.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/iso646.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/syslimits.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/unwind.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/ppc-asm.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/altivec.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/spe.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/si2vmx.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/spu2vmx.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/vec_types.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/ppu_intrinsics.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/mf-runtime.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/README %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/ssp/ssp.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/ssp/stdio.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/ssp/string.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/ssp/unistd.h %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/*crt*.o %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/mambo-exit.o %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libgcc.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libgcov.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libgcc_eh.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libgcc_s* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libmudflap* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libssp* %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/*crt*.o %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/mambo-exit.o %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libgcc.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libgcov.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libgcc_eh.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libgcc_s* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libmudflap* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libssp* %files -n ppu-gcc-c++ %defattr(-,root,root) %dir %{_prefix} %dir %{_prefix}/bin %dir %{_mandir} %dir %{_mandir}/man1 %{_prefix}/bin/%{ppu_prefix}g++ %{_prefix}/bin/%{ppu_prefix}c++ %{_prefix}/bin/%{ppu32_prefix}g++ %{_mandir}/man1/%{ppu_prefix}g++.1* %dir %{_prefix}/libexec %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{ppu_target_platform} %dir %{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version}/cc1plus %dir %{_prefix}/lib %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{ppu_target_platform} %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version} %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libstdc++.so* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libstdc++.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libsupc++.a %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libstdc++.so* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libstdc++.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libsupc++.a %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include/c++ %files -n ppu-gcc-fortran %defattr(-,root,root) %dir %{_prefix} %dir %{_prefix}/bin %dir %{_mandir} %dir %{_mandir}/man1 %{_prefix}/bin/%{ppu_prefix}gfortran %{_mandir}/man1/%{ppu_prefix}gfortran.1* %dir %{_prefix}/libexec %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{ppu_target_platform} %dir %{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{ppu_target_platform}/%{gcc_version}/f951 %dir %{_prefix}/lib %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{ppu_target_platform} %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version} %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libgfortran.so* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libgfortran.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/libgfortranbegin.a %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libgfortran.so* %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libgfortran.a %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/32/libgfortranbegin.a %dir %{_prefix}/lib/gcc/%{ppu_target_platform}/%{gcc_version}/include %changelog * Wed Feb 21 2007 Ulrich Weigand 4.1.1-10 - Fix libstdc++ ABI inconsistency in cross-toolchain (#31644). * Tue Feb 20 2007 Ulrich Weigand 4.1.1-9 - Work around multiple definitions of __fabs etc. (#30342). * Fri Feb 2 2007 Ben Elliston 4.1.1-8 - Change name from ppu-toolchain to ppu-gcc. - Remove ppu-gcc sub-package. * Mon Jan 28 2007 Sa Liu 4.1.1-7 - Add celledp intrinsics. * Mon Jan 22 2007 Ben Elliston 4.1.1-6 - Pass --with-as and --with-ld to configure. * Mon Jan 22 2007 Ben Elliston 4.1.1-5 - Package the lib/gcc/ppu/4.1.1/include/ssp directory. * Mon Jan 22 2007 Ben Elliston 4.1.1-4 - Change the cross-prefix to /opt/cell. * Fri Jan 19 2007 Ben Elliston 4.1.1-3 - Do not append /opt/cell/toolchain to the PATH. * Fri Jan 19 2007 Ben Elliston 4.1.1-2 - Improve Summary: field. * Thu Jan 18 2007 Ben Elliston 4.1.1-1 - Remove ppu_version, use gcc_version for the package version instead. - Update Source0 directive. - Do not create a tree of symlinks for a combined tree any longer. - Fix PATH to locate cross-binutils when in a cross environment. * Mon Jan 15 2007 Ben Elliston 3.4-1 - Move to toolchain-src-3.4.tar.gz. - Require ppu-binutils 2.17.50 or greater. - Remove ppu-binutils package. - Remove binutils and embedspu patches. - Do not generate ppu32-as, ppu32-ld, etc. wrapper scripts. * Fri Jan 12 2007 Ulrich Weigand 3.3-103 - Change sysroot location to /opt/cell/toolchain. * Wed Jan 10 2007 Ulrich Weigand 3.3-102 - Remove GDB, this is now a stand-alone package. * Thu Dec 11 2006 Markus Deuling 3.3-101 - Implement SPU-specific vector type (#29772) * Fri Dec 1 2006 Ulrich Weigand 3.3-100 - Start of SDK 2.1 release cycle. Bump version. * Fri Nov 24 2006 Ulrich Weigand 3.3-72 - GDB: Recover after single-step bpkt in non-current thread - gdbserver. * Thu Nov 23 2006 Ulrich Weigand 3.3-71 - GDB: Fix end-of-stack detection on ppc (#29643). - GDB: Fix prepare_to_proceed multi-arch confusion (#29599). - GDB: Recover after single-step bpkt in non-current thread (#29598). * Tue Nov 21 2006 Alan Modra 3.3-70 - Fix a segfault on closing archives (nm --print-armap). * Mon Nov 20 2006 Ulrich Weigand 3.3-69 - GDB: Fix inferior calls in multi-threaded applications. * Mon Nov 20 2006 Alan Modra 3.3-68 - ibm28945 looping in map_segments. Backport lang_size_sections code from mainline binutils to set section lmas correctly. * Sat Nov 18 2006 Alan Modra 3.3-67 - ibm29389 backport 2.17 handling of ADDR() in linker scripts for linux kernel * Thu Nov 16 2006 Ulrich Weigand 3.3-66 - Implement TWG RFC 00089-0 (return type of __fctiw/__fctiwz) (#29466). * Thu Nov 16 2006 Ulrich Weigand 3.3-65 - GDB: Fix gdbarch confusion in infrun (#29354). * Thu Nov 16 2006 Ulrich Weigand 3.3-64 - GDB: Terminate backtrace at entry function (#29298). * Thu Nov 16 2006 Ulrich Weigand 3.3-63 - Fix incorrect use of "m" constraint in ppu_intrinsics.h (#29347). * Tue Nov 14 2006 Alan Modra 3.3-62 - ibm28987 Largefile support. * Mon Nov 13 2006 Alan Modra 3.3-61 - ibm29099 gas/1118 fix clash between --alternate and -al=file - spu binutils merge. * Fri Nov 10 2006 Ulrich Weigand 3.3-60 - GDB: Handle prelinked libraries better (#29098). - GDB: Use standard __spe_context_update_event libspe hook. - GCC: Accept -mcpu=cell option. * Fri Nov 10 2006 Ben Elliston 3.38-59 - Implement TWG RFC 00083-1 (32-bit ABI support for PPU intrinsics). * Thu Nov 9 2006 Ben Elliston 3.3-58 - More minor fixes to ppu_intrinsics.h (eg. make more asms volatile). * Wed Nov 8 2006 Ulrich Weigand 3.3-57 - GDB: Don't crash when calling "info spu" on a PPU thread (#28999). - GDB: Back-port upstream elfcore_write_note changes. * Wed Nov 8 2006 Ulrich Weigand 3.3-56 - Adapt embedspu script to work with shared SPU/PPU prefix (#29064). * Tue Nov 7 2006 Ulrich Weigand 3.3-55 - Add earlyclobber to __setflm intrinsic (LTC #29006). - Add back BuildRoot to allow rebuilding the SRPM. * Mon Nov 6 2006 Dorit Nuzman 3.3-53 - Implement TWG RFC 00078-2 (removal of __popcntb, __fre and __frsqrtes PPU intrinsics; addition of __frsqrte intrinsic). * Thu Nov 2 2006 Ulrich Weigand 3.3-52 - Install BFD libraries and headers (native only). * Wed Nov 1 2006 Alan Modra 3.3-51 - teach gas to accept -mcell. * Tue Oct 31 2006 Ben Elliston 3.3-50 - Clean up splitter logic for anddi3 patterns to eliminate an ICE. (LTC #28020) * Sat Oct 28 2006 Ulrich Weigand 3.3-49 - Add corefile support. - Fix zero object-id race. * Fri Oct 27 2006 Ulrich Weigand 3.3-48 - Finish implementation of GDB SPE enhancements. * Fri Oct 27 2006 Ben Elliston 3.3-47 - Fix the return type of some Altivec intrinsic functions (LTC #27465). * Fri Oct 27 2006 Alan Modra 3.3-46 - popcntb and frsqrtes are not supported by ppu. * Thu Oct 26 2006 Ulrich Weigand 3.3-45 - Backport GCC target/27842 (LTC #27496). * Thu Oct 26 2006 Ulrich Weigand 3.3-44 - More ppu_intrinsics.h fixes (LTC #28570). * Thu Oct 26 2006 Ben Elliston 3.3-43 - Fix constraints in __fc* intrinsics (LTC #28467). * Tue Oct 24 2006 Ulrich Weigand 3.3-42 - Change cross-prefix to /opt/cell/toolchain-3.3 (no /ppu). * Mon Oct 23 2006 Tehila Meyzels 3.3-41 - Modifies the profitability check of the SMS - Add computation of the scheduling windows to prevent register moves. * Sun Oct 22 2006 Ulrich Weigand 3.3-40 - Add GDB SPE enhancements, refactor GDB patches. - Add Markus' qxfer fixes and cleanups. * Fri Oct 20 2006 Alan Modra 3.3-39 - Fix IBM28416, missing hunk from backport of -msecure-plt support. - spu binutils merge. * Thu Oct 19 2006 Ben Elliston 3.3-38 - GCC vector initialiser fixes for some installed headers. * Mon Oct 16 2006 Ben Elliston 3.3-37 - Implement TWG RFC 00078-1 (removal of the __frsqrtes intrinsic). * Sat Oct 14 2006 Ulrich Weigand 3.3-36 - Fix "info sharedlibrary" while in SPE thread (LTC #27864). - Fix single-stepping over PPE-assisted calls (LTC #28046). - Fixes to multi-threaded software single-step handling. - Clean up handling of stand-alone SPE executables. - Add Markus' cleanup of qxfer backport patch. * Fri Oct 13 2006 Ulrich Weigand 3.3-35 - Configure with --with-long-double-128 (LTC #28097). - Enable --with-long-double-128 (back-port from mainline). - Back-port ppc64 long double ABI bug fix (Alan / FC5 RPM). * Fri Oct 13 2006 Ben Elliston 3.3-34 - Switch to GCC-style vector initialisers in some libgcc routines. * Thu Oct 12 2006 Ben Elliston 3.3-33 - Remove support for parenthesised vector initialisers. * Tue Oct 10 2006 Alan Modra 3.3-32 - spu binutils merge * Mon Oct 9 2006 Ulrich Weigand 3.3-31 - Add spu_ovl.o as Source so it gets included into the .src.rpm. * Mon Oct 9 2006 Alan Modra 3.3-30 - Provide pre-built spu_ovl.o. - Enable spu target again. * Fri Oct 6 2006 Ulrich Weigand 3.3-29 - Show SPE executables as "shared libraries" (LTC #27864). - Give proper MI error on failing -break-insert (LTC #27848). - Add Markus' gdbserver protocol fixes and cleanups. * Fri Oct 6 2006 Ulrich Weigand 3.3-28 - Fix missing generated file in binutils-config.diff. - Build toolchain without --enable-targets=spu. * Fri Oct 6 2006 Alan Modra 3.3-27 - spu binutils merge * Fri Oct 6 2006 Alan Modra 3.3-26 - Merge spu binutils changes into ppu sources. This is just spu-toolchain/diff-spu-binutils{,-fixes{,[2-9],1[012]} as one big patch. - Revert patch that added hex offsets in objdump output as this breaks binutils testsuite. - Revert wrong patch that attempted to reverse sense of power4 tests as this breaks booke64. Instead set PPC_OPCODE_POWER4 for ppu. - Tweak ppu config targets (a bit pointless unless config.sub is also changed). - Remove horrible TARGET_CPU gas hack. - Regenerate config.in files with later autotools. - Backport from mainline binutils - power5 support - remove unnecessary powerpc section padding. - fix to sprg handling. - make first operand of svc and svcl optional. - Remove bogus insns: scv, rfscv, mfctrl, mtctrl * Fri Oct 6 2006 Ben Elliston 3.3-25 - Implement TWG RFC 00078-0 (removal of the __fre PPU intrinsic). * Wed Oct 4 2006 Ulrich Weigand 3.3-24 - Fix 64-bit access to NPC via gdbserver (LTC #27907). * Wed Oct 4 2006 Ulrich Weigand 3.3-23 - Fix build break on cross-builds (no ppu32-gdbserver to install, LTC #27930). * Wed Oct 4 2006 Ulrich Weigand 3.3-22 - Add build and run dependency on GMP library to ppu-gcc-fortran (LTC #27902). * Tue Oct 3 2006 Ulrich Weigand 3.3-21 - Build native GDB with 64-bit compiler. - Fix multi-threaded debugging with ppc64 gdbserver. * Tue Oct 3 2006 Ben Elliston 3.3-20 - Fix order of __st* macro parameters in ppu_intrinsics.h (LTC #27322). * Sun Oct 1 2006 Ulrich Weigand 3.3-19 - Add Markus' combined gdbserver fixes and cleanup. * Sat Sep 30 2006 Ulrich Weigand 3.3-18 - Debugger: Fix attach/detach. - Debugger: Implement "set spu stop-on-load" command. * Fri Sep 29 2006 Ulrich Weigand 3.3-17 - Build 64-bit gdbserver using a 64-bit compiler. * Fri Sep 29 2006 Ben Elliston 3.3-16 - Add missing intrinsic functions to ppu_intrinsics.h. - and test case: gcc.target/powerpc/ppu-intrinsics.c. * Fri Sep 29 2006 Ben Elliston 3.3-15 - Remove __dcbi from ppu_intrinsics.h (undocumented). * Thu Sep 28 2006 Ulrich Weigand 3.3-14 - Add combined debugger. * Wed Sep 27 2006 Ben Elliston 3.3-13 - Import second batch of testsuite fixes. * Wed Sep 27 2006 Ben Elliston 3.3-12 - Add ppu_intrinsics.h to %files section. * Wed Sep 27 2006 Ben Elliston 3.3-11 - Install ppu_intrinsics.h. * Tue Sep 26 2006 Dorit Nuzman 3.3-10 - Add flag to limit vectorization to loops with large enough loop bound. * Fri Sep 22 2006 Ben Elliston 3.3-9 - Pass -E to patch(1) when applying patch #2. * Fri Sep 22 2006 Ben Elliston 3.3-8 - Import the first set of testsuite fixes. * Fri Sep 22 2006 Ben Elliston 3.3-7 - Define a __PPU__ builtin macro. * Wed Sep 20 2006 Ben Elliston 3.3-6 - Avoid compiler crash parsing Altivec keywords. * Mon Sep 18 2006 Ulrich Weigand 3.3-5 - Change cross-prefix to /opt/cell (from /opt/sce). * Fri Sep 15 2006 Ulrich Weigand 3.3-4 - Update intrinsic mapping header files to Dan's latest revision. - Add backport of GCC bugzilla #28862 (LTC #25516). * Tue Sep 12 2006 Sa Liu 3.3-3 - Add Gfortran support. * Thu Sep 9 2006 Dorit Nuzman - Backport vectorization of reduction-patterns from mainline and vectorization of multiple data-types and type-conversions from autovect-branch. * Fri Aug 18 2006 Markus Deuling 3.3-1 - Individual BuildRoot for each user from Makefile to support multiple users on a host * Wed Aug 16 2006 Ben Elliston 3.3-1 - Bump package version number. * Wed Aug 16 2006 Ben Elliston 3.2-7 - Remove unnecessary patch: toolchain-altivec-fix.diff. Package up libssp headers and libraries. Update gcc_version to 4.1.1. * Mon Aug 15 2006 Ben Elliston 3.2-6 - Remove unnecessary patches: toolchain-libiberty-merge.diff, toolchain-altivec-cmple-fix.diff, toolchain-convertible-revert.diff. * Mon Jul 10 2006 Patrick Mansfield 3.2-5 - Add support for embedspu.sh handling of the special variable _EAR_ for overlay support. * Wed May 24 2006 Ulrich Weigand 3.2-4 - Add ppu-binutils package, including secure PLT backport. - Add support for cross-toolchain build. * Wed May 17 2006 Ulrich Weigand 3.2-3 - Fix vec_cmple AltiVec builtin. * Mon May 8 2006 Ulrich Weigand 3.2-2 - Fix overloaded AltiVec builtins. * Thu Apr 25 2006 Ulrich Weigand 3.2-1bb1 - Update to SCEA toolchain release 3.2. * Tue Mar 28 2006 Ulrich Weigand 3.0-20060124bb1 - Initial PPU version.