summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Zou2018-12-29 10:22:07 +0100
committerMichel Zou2018-12-29 10:22:07 +0100
commit98f528626e1c33db515f46aa640ab799b7f05fcb (patch)
treef00588834be5cc70f0aed91dc0efcc55be2423f2
parent37c625539e3772d88d0458ee70b7f7225f48d110 (diff)
downloadaur-98f528626e1c33db515f46aa640ab799b7f05fcb.tar.gz
update patch
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD12
-rw-r--r--gcc-4.9.3-PSP.patch106
3 files changed, 118 insertions, 14 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 95a86780f2e..f830ae96e98 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,3 @@
-# Generated by mksrcinfo v8
-# Sat Jan 27 15:25:09 UTC 2018
pkgbase = psp-gcc
pkgdesc = The GNU Compiler Collection - C and C++ frontends (psp)
pkgver = 4.9.3
@@ -26,12 +24,12 @@ pkgbase = psp-gcc
source = https://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz
source = http://www.mpfr.org/mpfr-3.1.2/mpfr-3.1.2.tar.bz2
source = patch-gcc_cp_cfns.h
- md5sums = 6f831b4d251872736e8e9cc09746f327
- md5sums = 472c84cce740a223420e186a35954fe4
- md5sums = bdffbffc1fb4a7205f20acbdf18be28e
- md5sums = 68fadff3358fb3e7976c7a398a0af4c3
- md5sums = ee2c3ac63bf0c2359bf08fc3ee094c19
- md5sums = cc8bac293c0f0c6e127e7d242237f875
+ sha256sums = 2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e
+ sha256sums = 40c43fd1aacdb62dce19459708d633cee035cd25ddd2839d3065f150f5ba327f
+ sha256sums = 9a6bde619a9dcdcb68a856be1b32a097a2a04fec2ce6d6fe0877d941f9309c50
+ sha256sums = b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488
+ sha256sums = 79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b
+ sha256sums = ad3771c065bdb67141228032dbf8bfd62f9a2b4d0b846cbcdb27b1f0eedf2ee6
pkgname = psp-gcc
diff --git a/PKGBUILD b/PKGBUILD
index 2f63dae21d8..eee96b436e5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -16,12 +16,12 @@ source=("http://ftp.gnu.org/pub/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.bz2"
"https://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz"
"http://www.mpfr.org/mpfr-3.1.2/mpfr-3.1.2.tar.bz2"
"patch-gcc_cp_cfns.h")
-md5sums=('6f831b4d251872736e8e9cc09746f327'
- '472c84cce740a223420e186a35954fe4'
- 'bdffbffc1fb4a7205f20acbdf18be28e'
- '68fadff3358fb3e7976c7a398a0af4c3'
- 'ee2c3ac63bf0c2359bf08fc3ee094c19'
- 'cc8bac293c0f0c6e127e7d242237f875')
+sha256sums=('2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e'
+ '40c43fd1aacdb62dce19459708d633cee035cd25ddd2839d3065f150f5ba327f'
+ '9a6bde619a9dcdcb68a856be1b32a097a2a04fec2ce6d6fe0877d941f9309c50'
+ 'b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488'
+ '79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b'
+ 'ad3771c065bdb67141228032dbf8bfd62f9a2b4d0b846cbcdb27b1f0eedf2ee6')
prepare ()
{
diff --git a/gcc-4.9.3-PSP.patch b/gcc-4.9.3-PSP.patch
index 9fbfdd1ca5c..57a16969a11 100644
--- a/gcc-4.9.3-PSP.patch
+++ b/gcc-4.9.3-PSP.patch
@@ -848,6 +848,24 @@ diff -Nru gcc-4.9.3/libgcc/config/mips/t-allegrex gcc-4.9.3-psp/libgcc/config/mi
diff -Nru gcc-4.9.3/libgcc/config.host gcc-4.9.3-psp/libgcc/config.host
--- gcc-4.9.3/libgcc/config.host 2014-03-27 15:40:31.000000000 +0000
+++ gcc-4.9.3-psp/libgcc/config.host 2015-10-19 00:17:27.026646529 +0100
+@@ -140,11 +140,15 @@ microblaze*-*-*)
+ cpu_type=microblaze
+ ;;
+ mips*-*-*)
+- # All MIPS targets provide a full set of FP routines.
+ 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"
++ else
++ tmake_file="${tmake_file} t-hardfp-sfdf"
++ fi
++ tmake_file="${tmake_file} t-hardfp"
+ else
+ tmake_file="${tmake_file} t-softfp-sfdf"
+ fi
@@ -860,6 +860,14 @@
mipstx39-*-elf* | mipstx39el-*-elf*)
tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
@@ -875,3 +893,91 @@ diff -Nru gcc-4.9.3/libgcc/crtstuff.c gcc-4.9.3-psp/libgcc/crtstuff.c
/* FIXME: Including auto-host is incorrect, but until we have
identified the set of defines that need to go into auto-target.h,
this will have to do. */
+diff --git /dev/null gcc-4.9.3-psp/libgcc/config/t-hardfp-sf
+new file mode 100644
+index 00000000000..10682690219
+--- /dev/null
++++ gcc-4.9.3-psp/libgcc/config/t-hardfp-sf
+@@ -0,0 +1,32 @@
++# Copyright (C) 2014 Free Software Foundation, Inc.
++
++# This file is part of GCC.
++
++# GCC is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3, or (at your option)
++# any later version.
++
++# GCC is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with GCC; see the file COPYING3. If not see
++# <http://www.gnu.org/licenses/>.
++
++hardfp_float_modes := sf
++# di and ti are provided by libgcc2.c where needed.
++hardfp_int_modes := si
++hardfp_extensions :=
++hardfp_truncations :=
++
++# Emulate 64 bit float:
++FPBIT = true
++DPBIT = true
++# Don't build functions handled by 32 bit hardware:
++LIB2FUNCS_EXCLUDE = _addsub_sf _mul_sf _div_sf \
++ _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
++ _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf \
++ _thenan_sf _sf_to_usi _usi_to_sf
+diff --git gcc-4.9.3/libgcc/configure gcc-4.9.3-psp/libgcc/configure
+index 35896deb7bf..b04e158e155 100644
+--- gcc-4.9.3/libgcc/configure
++++ gcc-4.9.3-psp/libgcc/configure
+@@ -4352,6 +4352,26 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_mips_hard_float" >&5
+ $as_echo "$libgcc_cv_mips_hard_float" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target is single-float" >&5
++$as_echo_n "checking whether the target is single-float... " >&6; }
++if test "${libgcc_cv_mips_single_float+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#ifndef __mips_single_float
++ #error FOO
++ #endif
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ libgcc_cv_mips_single_float=yes
++else
++ libgcc_cv_mips_single_float=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_mips_single_float" >&5
++$as_echo "$libgcc_cv_mips_single_float" >&6; }
+ esac
+
+ # Collect host-machine-specific information.
+diff --git gcc-4.9.3/libgcc/configure.ac gcc-4.9.3-psp/libgcc/configure.ac
+index d877d21c092..312bf264679 100644
+--- gcc-4.9.3/libgcc/configure.ac
++++ gcc-4.9.3-psp/libgcc/configure.ac
+@@ -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.