[Kernelloader-cvs] linux/simple-toolchain build.sh, 1.57, 1.58 gcc-4.9.0-mips-ps2.patch, 1.2, 1.3
Run Linux on the Playstation 2
Brought to you by:
kloader
From: Mega M. <kl...@us...> - 2014-08-18 15:46:44
|
Update of /cvsroot/kernelloader/linux/simple-toolchain In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7433/simple-toolchain Modified Files: build.sh gcc-4.9.0-mips-ps2.patch Log Message: Use generic fix for 32 bit FPU hardfloat problem. Index: build.sh =================================================================== RCS file: /cvsroot/kernelloader/linux/simple-toolchain/build.sh,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** build.sh 29 Jul 2014 20:32:07 -0000 1.57 --- build.sh 18 Aug 2014 15:46:42 -0000 1.58 *************** *** 252,255 **** --- 252,258 ---- sudo apt-get install gcc make automake autoconf perl e2fsprogs gzip tar libmpfr-dev libncurses-dev libmpc-dev || exit -1 + if [ "$GCC_VERSION" = "4.9.0" ]; then + sudo apt-get install autoconf2.64 || exit -1 + fi # Package libgmp-dev was called libgmp3-dev in older distributions. sudo apt-get install libgmp-dev || sudo apt-get install libgmp3-dev || exit -1 *************** *** 407,410 **** --- 410,420 ---- patch -p1 <"$PATCHDIR/gcc-${GCC_VERSION}-mips-ps2.patch" || exit -1 fi + + if [ "$GCC_VERSION" = "4.9.0" ]; then + # configure.ac was patched, need to update configure. + cd libgcc || exit -1 + autoconf2.64 || rxit -1 + cd .. || exit -1 + fi fi fi Index: gcc-4.9.0-mips-ps2.patch =================================================================== RCS file: /cvsroot/kernelloader/linux/simple-toolchain/gcc-4.9.0-mips-ps2.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gcc-4.9.0-mips-ps2.patch 29 Jun 2014 18:12:05 -0000 1.2 --- gcc-4.9.0-mips-ps2.patch 18 Aug 2014 15:46:42 -0000 1.3 *************** *** 1,4 **** --- gcc-4.9.0/libgcc/config/t-hardfp-sf 1970-01-01 01:00:00.000000000 +0100 ! +++ gcc-4.9.0-patched/libgcc/config/t-hardfp-sf 2014-05-07 00:14:27.093320928 +0200 @@ -0,0 +1,32 @@ +# Copyright (C) 2014 Free Software Foundation, Inc. --- 1,5 ---- + diff -Nurp gcc-4.9.0/libgcc/config/t-hardfp-sf gcc-4.9.0-patched/libgcc/config/t-hardfp-sf --- gcc-4.9.0/libgcc/config/t-hardfp-sf 1970-01-01 01:00:00.000000000 +0100 ! +++ gcc-4.9.0-patched/libgcc/config/t-hardfp-sf 2014-07-31 22:05:24.177280902 +0200 @@ -0,0 +1,32 @@ +# Copyright (C) 2014 Free Software Foundation, Inc. *************** *** 34,67 **** + _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf \ + _thenan_sf _sf_to_usi _usi_to_sf --- gcc-4.9.0/libgcc/config.host 2014-03-27 16:40:31.000000000 +0100 ! +++ gcc-4.9.0-patched/libgcc/config.host 2014-05-07 00:10:16.565329373 +0200 ! @@ -140,11 +140,24 @@ microblaze*-*-*) ! cpu_type=microblaze ! ;; ! mips*-*-*) ! - # All MIPS targets provide a full set of FP routines. ! + # All MIPS targets provide a full set of FP routines except r5900. cpu_type=mips tmake_file="mips/t-mips" if test "${libgcc_cv_mips_hard_float}" = yes; then - tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp" ! + case ${host} in ! + mips64r5900* | mipsr5900*) ! + # r5900 doesn't support df. ! + tmake_file="${tmake_file} t-hardfp-sf t-hardfp" ! + ;; ! + *) ! + if test x$with_arch = xr5900; then ! + # r5900 doesn't support df. ! + tmake_file="${tmake_file} t-hardfp-sf t-hardfp" ! + else ! + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp" ! + fi ! + ;; ! + esac else tmake_file="${tmake_file} t-softfp-sfdf" fi ! @@ -794,7 +807,9 @@ mips*-*-linux*) # Linux MIPS, either # instructions that are not supported on r5900. ;; --- 35,55 ---- + _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf \ + _thenan_sf _sf_to_usi _usi_to_sf + diff -Nurp gcc-4.9.0/libgcc/config.host gcc-4.9.0-patched/libgcc/config.host --- gcc-4.9.0/libgcc/config.host 2014-03-27 16:40:31.000000000 +0100 ! +++ gcc-4.9.0-patched/libgcc/config.host 2014-07-31 23:21:42.093280358 +0200 ! @@ -144,7 +144,11 @@ mips*-*-*) cpu_type=mips tmake_file="mips/t-mips" if test "${libgcc_cv_mips_hard_float}" = yes; then - tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp" ! + if test "${libgcc_cv_mips_single_float}" = yes; then ! + tmake_file="${tmake_file} t-hardfp-sf t-hardfp" ! + else ! + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp" ! + fi else tmake_file="${tmake_file} t-softfp-sfdf" fi ! @@ -794,13 +798,18 @@ mips*-*-linux*) # Linux MIPS, either # instructions that are not supported on r5900. ;; *************** *** 69,81 **** - tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc" + if test x$with_arch != xr5900; then ! + tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc" + fi ;; esac md_unwind_header=mips/linux-unwind.h - --- gcc-4.9.0-patched/libgcc/config.host 2014-06-28 00:23:48.933702480 +0200 - +++ gcc-4.9.0-patched/libgcc/config.host 2014-06-28 00:30:24.177701548 +0200 - @@ -815,7 +815,10 @@ mips*-*-linux*) # Linux MIPS, either - md_unwind_header=mips/linux-unwind.h ;; mips*-sde-elf*) --- 57,65 ---- - tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc" + if test x$with_arch != xr5900; then ! + tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc" + fi ;; esac md_unwind_header=mips/linux-unwind.h ;; mips*-sde-elf*) *************** *** 88,92 **** yes) # newlib / libgloss. ! @@ -843,7 +846,10 @@ mipsisa64sb1-*-elf* | mipsisa64sb1el-*-e extra_parts="$extra_parts crti.o crtn.o" ;; --- 72,76 ---- yes) # newlib / libgloss. ! @@ -828,7 +837,10 @@ mipsisa64sb1-*-elf* | mipsisa64sb1el-*-e extra_parts="$extra_parts crti.o crtn.o" ;; *************** *** 100,104 **** ;; mipsr5900-*-elf* | mipsr5900el-*-elf*) ! @@ -851,7 +857,10 @@ mipsr5900-*-elf* | mipsr5900el-*-elf*) extra_parts="$extra_parts crti.o crtn.o" ;; --- 84,88 ---- ;; mipsr5900-*-elf* | mipsr5900el-*-elf*) ! @@ -836,7 +848,10 @@ mipsr5900-*-elf* | mipsr5900el-*-elf*) extra_parts="$extra_parts crti.o crtn.o" ;; *************** *** 112,116 **** ;; mips64r5900-*-elf* | mips64r5900el-*-elf*) ! @@ -867,7 +876,10 @@ mips64orion-*-elf* | mips64orionel-*-elf extra_parts="$extra_parts crti.o crtn.o" ;; --- 96,100 ---- ;; mips64r5900-*-elf* | mips64r5900el-*-elf*) ! @@ -852,7 +867,10 @@ mips64orion-*-elf* | mips64orionel-*-elf extra_parts="$extra_parts crti.o crtn.o" ;; *************** *** 124,125 **** --- 108,127 ---- ;; mips-wrs-vxworks) + diff -Nurp gcc-4.9.0/libgcc/configure.ac gcc-4.9.0-patched/libgcc/configure.ac + --- gcc-4.9.0/libgcc/configure.ac 2014-02-07 08:46:34.000000000 +0100 + +++ gcc-4.9.0-patched/libgcc/configure.ac 2014-07-31 23:07:46.401280455 +0200 + @@ -302,6 +302,14 @@ mips*-*-*) + #endif], + [libgcc_cv_mips_hard_float=yes], + [libgcc_cv_mips_hard_float=no])]) + + AC_CACHE_CHECK([whether the target is single-float], + + [libgcc_cv_mips_single_float], + + [AC_COMPILE_IFELSE( + + [#ifndef __mips_single_float + + #error FOO + + #endif], + + [libgcc_cv_mips_single_float=yes], + + [libgcc_cv_mips_single_float=no])]) + esac + + # Collect host-machine-specific information. |