summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarjan Krijan2024-02-17 19:04:39 +0100
committerDarjan Krijan2024-02-17 19:04:39 +0100
commitb10095bcc761fb63f279e87e67553833706dc456 (patch)
tree6f697c6037e0024c59a8a8a13009d355e96992b9
parent7bbdd413cd110df96eaedd4a210e5b3f4b9fe5a5 (diff)
downloadaur-b10095bcc761fb63f279e87e67553833706dc456.tar.gz
Version 13.2.0
-rw-r--r--.SRCINFO30
-rw-r--r--PKGBUILD26
-rw-r--r--gcc-13.2.0-ps3-ppu.patch (renamed from gcc-9.5.0-ps3-ppu.patch)167
3 files changed, 103 insertions, 120 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1a806554b4ab..548463dbc763 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ps3-ppu-gcc
pkgdesc = GCC for cross-compiling to ppu (PS3 GameOS)
- pkgver = 9.5.0
- pkgrel = 4
+ pkgver = 13.2.0
+ pkgrel = 1
url = https://gcc.gnu.org/
arch = x86_64
arch = aarch64
@@ -21,26 +21,26 @@ pkgbase = ps3-ppu-gcc
makedepends = patch
makedepends = python
depends = ps3-env
- depends = ps3-ppu-binutils
+ depends = ps3-ppu-binutils>=2.42
options = !emptydirs
options = !strip
options = staticlibs
options = !lto
- source = https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.xz
- source = gcc-9.5.0-ps3-ppu.patch
+ source = https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
+ source = gcc-13.2.0-ps3-ppu.patch
source = http://sourceware.org/pub/newlib/newlib-1.20.0.tar.gz
source = newlib-1.20.0-ps3-ppu.patch
- source = http://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2
- source = http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
- source = http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
- source = http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.bz2
- sha256sums = 27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f
- sha256sums = 86d3dca49e0a8cf0d0b56619c19da2047c5b6bda939e4856f4de78e4866fd55b
+ source = http://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.bz2
+ source = http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.24.tar.bz2
+ source = http://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz
+ source = http://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.bz2
+ sha256sums = e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ sha256sums = a19523a965bc412598df0d0b41e8dbb83ad6e28ea229150125622df55ddc4057
sha256sums = c644b2847244278c57bec2ddda69d8fab5a7c767f3b9af69aa7aa3da823ff692
sha256sums = 9ffcdfc74871b267d53b66e525162467ce248d89b77506bb8db2409f3d0b51ae
- sha256sums = 498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8
- sha256sums = 6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b
- sha256sums = 617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3
- sha256sums = d3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775
+ sha256sums = eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
+ sha256sums = fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0
+ sha256sums = 17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459
+ sha256sums = feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926
pkgname = ps3-ppu-gcc
diff --git a/PKGBUILD b/PKGBUILD
index d24d791977ad..c8593f1bd524 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,21 +3,21 @@
_target="powerpc64-ps3-elf"
_target_alias="ppu"
_newlib_pkgver="1.20.0"
-_gmp_pkgver="6.1.0"
-_isl_pkgver="0.18"
-_mpc_pkgver="1.0.3"
-_mpfr_pkgver="3.1.4"
+_gmp_pkgver="6.2.1"
+_isl_pkgver="0.24"
+_mpc_pkgver="1.2.1"
+_mpfr_pkgver="4.1.0"
_pkgname="gcc"
pkgname="ps3-${_target_alias}-${_pkgname}"
-pkgver="9.5.0"
-pkgrel=4
+pkgver="13.2.0"
+pkgrel=1
pkgdesc="GCC for cross-compiling to ${_target_alias} (PS3 GameOS)"
arch=(x86_64 aarch64 powerpc64le powerpc64 powerpc riscv64)
url='https://gcc.gnu.org/'
license=(GPL3 LGPL FDL custom)
makedepends=(patch python)
checkdepends=(dejagnu expect inetutils python-pytest tcl)
-depends=(ps3-env ps3-ppu-binutils)
+depends=(ps3-env "ps3-ppu-binutils>=2.42")
options=(!emptydirs !strip staticlibs !lto)
source=(
"https://ftp.gnu.org/gnu/${_pkgname}/${_pkgname}-${pkgver}/${_pkgname}-${pkgver}.tar.xz"
@@ -30,14 +30,14 @@ source=(
"http://ftp.gnu.org/gnu/mpfr/mpfr-${_mpfr_pkgver}.tar.bz2"
)
sha256sums=(
- '27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f'
- '86d3dca49e0a8cf0d0b56619c19da2047c5b6bda939e4856f4de78e4866fd55b'
+ 'e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da'
+ 'a19523a965bc412598df0d0b41e8dbb83ad6e28ea229150125622df55ddc4057'
'c644b2847244278c57bec2ddda69d8fab5a7c767f3b9af69aa7aa3da823ff692'
'9ffcdfc74871b267d53b66e525162467ce248d89b77506bb8db2409f3d0b51ae'
- '498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8'
- '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
- '617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3'
- 'd3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775'
+ 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'
+ 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0'
+ '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'
+ 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'
)
source /opt/ps3dev/ps3toolchain.sh
diff --git a/gcc-9.5.0-ps3-ppu.patch b/gcc-13.2.0-ps3-ppu.patch
index 1292e356d1d9..2bc8eeb59c0e 100644
--- a/gcc-9.5.0-ps3-ppu.patch
+++ b/gcc-13.2.0-ps3-ppu.patch
@@ -1,9 +1,44 @@
# Original from https://github.com/ps3dev/ps3toolchain
# Updated to gcc 9.5.0 by Darjan Krijan [https://disc-kuraudo.eu]
-diff '--color=auto' -urN a/gcc/config/rs6000/cell64lv2.h b/gcc/config/rs6000/cell64lv2.h
---- a/gcc/config/rs6000/cell64lv2.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/gcc/config/rs6000/cell64lv2.h 2023-01-01 17:58:23.274094209 +0100
-@@ -0,0 +1,587 @@
+# Updated to gcc 13.2.0 by luizfernandonb
+diff --git a/Makefile.in b/Makefile.in
+index 06a9398e172..7419f7ed67a 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -28118,7 +28118,6 @@ check-libiberty:
+ .PHONY: install-libiberty maybe-install-libiberty
+ maybe-install-libiberty:
+ @if libiberty
+-maybe-install-libiberty: install-libiberty
+
+ install-libiberty: installdirs
+ @: $(MAKE); $(unstage)
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 648b3dc2110..650d65fe28d 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -2863,6 +2863,15 @@ pdp11-*-*)
+ # tmake_file="${tmake_file} rs6000/t-fprules"
+ # extra_headers=
+ # ;;
++powerpc64-ps3-elf)
++ tm_file="${tm_file} elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/default64.h"
++ tm_file="rs6000/biarch64.h ${tm_file} rs6000/cell64lv2.h"
++ if test x${enable_secureplt} = xyes; then
++ tm_file="rs6000/secureplt.h ${tm_file}"
++ fi
++ extra_options="${extra_options} rs6000/sysv4.opt"
++ tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
++ ;;
+ powerpc-*-darwin*)
+ extra_options="${extra_options} ${cpu_type}/darwin.opt"
+ case ${target} in
+diff --git a/gcc/config/rs6000/cell64lv2.h b/gcc/config/rs6000/cell64lv2.h
+new file mode 100644
+index 00000000000..79a09605757
+--- /dev/null
++++ b/gcc/config/rs6000/cell64lv2.h
+@@ -0,0 +1,583 @@
+/* Definitions of target machine for GNU compiler,
+ for 64 bit PowerPC linux.
+ Copyright (C) 2000-2017 Free Software Foundation, Inc.
@@ -298,11 +333,9 @@ diff '--color=auto' -urN a/gcc/config/rs6000/cell64lv2.h b/gcc/config/rs6000/cel
+/* PowerPC64 Linux word-aligns FP doubles when -malign-power is given. */
+#undef ADJUST_FIELD_ALIGN
+#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
-+ (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED)) \
-+ ? 128 \
-+ : (TARGET_64BIT \
-+ && TARGET_ALIGN_NATURAL == 0 \
-+ && TYPE_MODE (strip_array_types (TYPE)) == DFmode) \
++ ((TARGET_64BIT \
++ && TARGET_ALIGN_NATURAL == 0 \
++ && TYPE_MODE (strip_array_types (TYPE)) == DFmode) \
+ ? MIN ((COMPUTED), 32) \
+ : (COMPUTED))
+
@@ -564,8 +597,6 @@ diff '--color=auto' -urN a/gcc/config/rs6000/cell64lv2.h b/gcc/config/rs6000/cel
+#define TARGET_THREAD_SSP_OFFSET (TARGET_64BIT ? -0x7010 : -0x7008)
+#endif
+
-+#define POWERPC_CELL64LV2
-+
+#define POINTERS_EXTEND_UNSIGNED 1
+
+/* ppc{32,64} linux has 128-bit long double support in glibc 2.4 and later. */
@@ -591,81 +622,43 @@ diff '--color=auto' -urN a/gcc/config/rs6000/cell64lv2.h b/gcc/config/rs6000/cel
+ enabling the __float128 keyword. */
+#undef TARGET_FLOAT128_ENABLE_TYPE
+#define TARGET_FLOAT128_ENABLE_TYPE 1
-diff '--color=auto' -urN a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
---- a/gcc/config/rs6000/rs6000.c 2022-05-27 09:21:11.000000000 +0200
-+++ b/gcc/config/rs6000/rs6000.c 2023-01-01 18:00:32.742783224 +0100
-@@ -1424,6 +1424,10 @@
- static bool rs6000_keep_leaf_when_profiled () __attribute__ ((unused));
- static tree rs6000_fold_builtin (tree, int, tree *, bool);
+\ No newline at end of file
+diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
+index e5ceff3a61b..152b1191490 100644
+--- a/gcc/config/rs6000/rs6000.cc
++++ b/gcc/config/rs6000/rs6000.cc
+@@ -1762,6 +1762,17 @@ static const struct attribute_spec rs6000_attribute_table[] =
+ #define TARGET_UPDATE_IPA_FN_TARGET_INFO rs6000_update_ipa_fn_target_info
+
-+#ifdef POWERPC_CELL64LV2
+static bool rs6000_cell64lv2_valid_pointer_mode(scalar_int_mode);
-+#endif
-+
- /* Hash table stuff for keeping track of TOC entries. */
-
- struct GTY((for_user)) toc_hash_struct
-@@ -39732,7 +39736,18 @@
- return id;
- }
-
--
-+#ifdef POWERPC_CELL64LV2
-+#undef TARGET_VALID_POINTER_MODE
-+#define TARGET_VALID_POINTER_MODE rs6000_cell64lv2_valid_pointer_mode
+
+static bool
+rs6000_cell64lv2_valid_pointer_mode(scalar_int_mode mode)
+{
-+ return (mode == SImode || (TARGET_64BIT && mode == DImode) || mode == ptr_mode || mode == Pmode);
++ return (mode == SImode || (TARGET_64BIT && mode == DImode) || mode == ptr_mode || mode == Pmode);
+}
+
-+#endif
++#undef TARGET_VALID_POINTER_MODE
++#define TARGET_VALID_POINTER_MODE rs6000_cell64lv2_valid_pointer_mode
+
- struct gcc_target targetm = TARGET_INITIALIZER;
-
- #include "gt-rs6000.h"
-diff '--color=auto' -urN a/gcc/config.gcc b/gcc/config.gcc
---- a/gcc/config.gcc 2022-05-27 09:21:10.000000000 +0200
-+++ b/gcc/config.gcc 2023-01-01 14:28:35.684278963 +0100
-@@ -2587,6 +2587,15 @@
- # tmake_file="${tmake_file} rs6000/t-fprules"
- # extra_headers=
- # ;;
-+powerpc64-ps3-elf)
-+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/default64.h"
-+ tm_file="rs6000/biarch64.h ${tm_file} rs6000/cell64lv2.h"
-+ if test x${enable_secureplt} = xyes; then
-+ tm_file="rs6000/secureplt.h ${tm_file}"
-+ fi
-+ extra_options="${extra_options} rs6000/sysv4.opt"
-+ tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
-+ ;;
- powerpc-*-darwin*)
- extra_options="${extra_options} ${cpu_type}/darwin.opt"
- case ${target} in
-diff '--color=auto' -urN a/gcc/configure b/gcc/configure
---- a/gcc/configure 2022-05-27 09:21:46.000000000 +0200
-+++ b/gcc/configure 2023-01-01 14:52:19.312078588 +0100
-@@ -28944,12 +28944,12 @@
- esac
-
- case "$target:$tm_file" in
-- powerpc64*-*-freebsd* | powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
-+ powerpc64*-*-freebsd* | powerpc64*-*-linux* | powerpc64-ps3-elf* | powerpc*-*-linux*rs6000/biarch64.h*)
- case "$target" in
- *le-*-linux*)
- emul_name="-melf64lppc"
- ;;
-- *-*-linux*)
-+ *-*-linux* | *-ps3-elf*)
- emul_name="-melf64ppc"
- ;;
- *le-*-freebsd*)
-diff '--color=auto' -urN a/gcc/configure.ac b/gcc/configure.ac
---- a/gcc/configure.ac 2022-05-27 09:21:11.000000000 +0200
-+++ b/gcc/configure.ac 2023-01-01 14:51:42.742384668 +0100
-@@ -5671,12 +5671,12 @@
+ /* Processor table. */
+ struct rs6000_ptt
+ {
+@@ -3491,7 +3502,7 @@ rs6000_linux64_override_options ()
+ {
+ if (TARGET_PROFILE_KERNEL)
+ {
+- profile_kernel = 0;
++ //profile_kernel = 0; Why???
+ error (INVALID_32BIT, "profile-kernel");
+ }
+ if (OPTION_SET_P (rs6000_current_cmodel))
+diff --git a/gcc/configure b/gcc/configure
+index dec2eca1a45..bcfdcffb950 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -30853,12 +30853,12 @@ $as_echo "#define HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1" >>confdefs.h
esac
case "$target:$tm_file" in
@@ -680,10 +673,11 @@ diff '--color=auto' -urN a/gcc/configure.ac b/gcc/configure.ac
emul_name="-melf64ppc"
;;
*le-*-freebsd*)
-diff '--color=auto' -urN a/libgcc/config.host b/libgcc/config.host
---- a/libgcc/config.host 2022-05-27 09:21:12.000000000 +0200
-+++ b/libgcc/config.host 2023-01-01 14:29:07.913987821 +0100
-@@ -1134,6 +1134,8 @@
+diff --git a/libgcc/config.host b/libgcc/config.host
+index 9d7212028d0..c2b3bb8ac28 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -1224,6 +1224,8 @@ powerpc-*-rtems*)
tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
;;
@@ -692,14 +686,3 @@ diff '--color=auto' -urN a/libgcc/config.host b/libgcc/config.host
powerpc*-*-linux*)
tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-dfprules rs6000/t-ppc64-fp t-slibgcc-libgcc"
tmake_file="${tmake_file} t-stack rs6000/t-stack-rs6000"
-diff '--color=auto' -urN a/Makefile.in b/Makefile.in
---- a/Makefile.in 2022-05-27 09:21:10.000000000 +0200
-+++ b/Makefile.in 2023-01-01 14:54:20.241067239 +0100
-@@ -27294,7 +27294,6 @@
- .PHONY: install-libiberty maybe-install-libiberty
- maybe-install-libiberty:
- @if libiberty
--maybe-install-libiberty: install-libiberty
-
- install-libiberty: installdirs
- @: $(MAKE); $(unstage)