Skip to content

Upgrade GCC 13.2.0 version (PPU-SPU) - #121

Open
humbertodias wants to merge 148 commits into
ps3dev:masterfrom
humbertodias:gcc-ppu-spu-13.2.0
Open

Upgrade GCC 13.2.0 version (PPU-SPU)#121
humbertodias wants to merge 148 commits into
ps3dev:masterfrom
humbertodias:gcc-ppu-spu-13.2.0

Conversation

@humbertodias

@humbertodias humbertodias commented Mar 5, 2024

Copy link
Copy Markdown

Features

  • binutils-ppu bumped from 2.22 to 2.42
  • ppu-gcc bumped from 7.20 to 13.2.0
  • spu-gcc bumped from 7.20 to 9.5.0
  • docker bumped from 16.04 to 24.04 - LTS
  • ci/cd working again and building releases
  • ci/cd to docker hub
  • ci/cd badges
  • build on ubuntu/macOS for arm64 enabled
  • test PSL1GHT hello game

Note

We've selected the version 9.5.0 because it's the last GCC release to include support for SPU.
https://www.phoronix.com/news/GCC-10-Drops-Cell-BE-SPU

Result

  1. ar --version
GNU ar (GNU Binutils) 2.42
Copyright (C) 2024 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
  1. ppu-gcc --version
ppu-gcc (GCC) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  1. spu-gcc --version
spu-gcc (GCC) 9.5.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  1. Docker
FROM ubuntu:24.04
  1. ci/cd success

image

https://github.com/humbertodias/ps3toolchain/actions/runs/8166663270

  1. ci/cd docker
    image

Note

Don't forget to create a named DockerHub environment on your repository with two secret variables: DOCKERHUB_USERNAME and DOCKERHUB_TOKEN

  1. badges
    image

  2. PSL1GHT hello game

image

@humbertodias humbertodias changed the title add gcc-ppu-spu v13.2.0 Update GCC to 13.2.0 (PUU-SPU) Mar 5, 2024
@humbertodias humbertodias changed the title Update GCC to 13.2.0 (PUU-SPU) Update GCC version (PUU-SPU) Mar 5, 2024
@humbertodias humbertodias changed the title Update GCC version (PUU-SPU) Update GCC version (PPU-SPU) Mar 5, 2024
@Fewnity

Fewnity commented Mar 5, 2024

Copy link
Copy Markdown

Hey cool work, I really want gcc 13 on ps3. But you just forgot to credit Darjan Krijanand and luizfernandonb :/

@humbertodias

Copy link
Copy Markdown
Author

Hey cool work, I really want gcc 13 on ps3. But you just forgot to credit Darjan Krijanand and luizfernandonb :/

Yeah.. I left his name on patch's file given him the credit

@TheRouletteBoi

Copy link
Copy Markdown

Ok, I was able to reproduce the issue on my Mac Mini M1. The problem is this script which is using this ancient config.guess without replacing it.
Compare for example this line in a different script that does replace config.guess with an up-to-date version.

Thanks @zeldin for tracking the problem: ps3toolchain > psl1ght > SDL2_PSL1GHT > SDL2_PSL1GHT_Libs I have fixed here and now it's working for arm64 as well.

@TheRouletteBoi please, try again

How to build arm platform image

DOCKER_DEFAULT_PLATFORM=linux/arm64 docker build . -t ps3dev 
DOCKER_DEFAULT_PLATFORM=linux/arm64 docker run -it -v `pwd`:/build -w /build ps3dev

the ps3toolchain now compiles for arm64 👍 thank you @humbertodias

@Fewnity

Fewnity commented May 11, 2024

Copy link
Copy Markdown

GCC 14.1 is out, maybe can we expect a version bump? 👀

@auser1337

Copy link
Copy Markdown

I was trying to link against libio_stub.a, but I got some errors with G++ 13.2.0:

/usr/local/ps3dev/ppu/bin/../lib/gcc/powerpc64-ps3-elf/13.2.0/../../../../powerpc64-ps3-elf/bin/ld: /mnt/e/Development/Tools/cell/target/ppu/lib/libio_stub.a(_sys_io_0001_3.o) uses unknown e_flags 0x1000001
/usr/local/ps3dev/ppu/bin/../lib/gcc/powerpc64-ps3-elf/13.2.0/../../../../powerpc64-ps3-elf/bin/ld: failed to merge target specific data of file /mnt/e/Development/Tools/cell/target/ppu/lib/libio_stub.a(_sys_io_0001_3.o)
/usr/local/ps3dev/ppu/bin/../lib/gcc/powerpc64-ps3-elf/13.2.0/../../../../powerpc64-ps3-elf/bin/ld: /mnt/e/Development/Tools/cell/target/ppu/lib/libio_stub.a(_sys_io_0001_17.o) uses unknown e_flags 0x1000001
/usr/local/ps3dev/ppu/bin/../lib/gcc/powerpc64-ps3-elf/13.2.0/../../../../powerpc64-ps3-elf/bin/ld: failed to merge target specific data of file /mnt/e/Development/Tools/cell/target/ppu/lib/libio_stub.a(_sys_io_0001_17.o)
/usr/local/ps3dev/ppu/bin/../lib/gcc/powerpc64-ps3-elf/13.2.0/../../../../powerpc64-ps3-elf/bin/ld: /mnt/e/Development/Tools/cell/target/ppu/lib/libio_stub.a(_sys_io_0001_head.o) uses unknown e_flags 0x1000001
/usr/local/ps3dev/ppu/bin/../lib/gcc/powerpc64-ps3-elf/13.2.0/../../../../powerpc64-ps3-elf/bin/ld: failed to merge target specific data of file /mnt/e/Development/Tools/cell/target/ppu/lib/libio_stub.a(_sys_io_0001_head.o)

When I try compiling with the SDK G++ 4.1.1 toolchain or the G++ 7.2.0 custom toolchain, these errors don't come up and it successfully links the program.

chibicitiberiu added a commit to chibicitiberiu/ps3toolchain that referenced this pull request Sep 29, 2025
@zeldin zeldin mentioned this pull request Mar 7, 2026
@void2012

void2012 commented Mar 7, 2026

Copy link
Copy Markdown

@humbertodias could you update this PR please?

@humbertodias

humbertodias commented Aug 31, 2026

Copy link
Copy Markdown
Author

@humbertodias could you update this PR please?

@void2012 master changes merged into gcc-ppu-spu-13.2.0

@humbertodias humbertodias changed the title Upgrade GCC version (PPU-SPU) Upgrade GCC 13.2.0 version (PPU-SPU) Sep 1, 2026
@void2012

void2012 commented Sep 1, 2026

Copy link
Copy Markdown

Not like I care about PS3 anymore, but I appreciate your effort. It's insane that we could use C++20 for PS3 now. Thanks anyway.

@TheMrIron2

Copy link
Copy Markdown
Contributor

Thanks for your work @humbertodias . Several of us maintainers greatly appreciate the work you've done for upgrading gcc on PS3 and for coming back to update us. I hope void's reply did not dissuade you.

Do you intend to do any further work on this branch? Or should we consider this ready for review?

@zeldin

zeldin commented Sep 1, 2026

Copy link
Copy Markdown
Member

A question: Which commits are the patches generated from? I don't see corresponding pull requests to https://github.com/ps3dev/gcc-PS3 et al. If new base repos are used (which might make sense given a large jump in version), it would be good if those could be moved to the ps3dev org for maintainability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants