Repository navigation
Add gcc-2.91.60 (egcs 1.1.1) and gcc-2.91.60-psx - #37
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds egcs 1.1.1 (gcc 2.91.60), the release before the existing 2.91.66 (egcs 1.1.2), in both the plain and
-psxflavours.The Dockerfiles are copies of the 2.91.66 ones with only the source swapped to
egcs-1.1.1.tar.bz2from gcc.gnu.org's old-releases. Everything else is unchanged: the samepsx-2.91.patchandmips.patch, the same configure and make lines, and the same smoke tests.patches/obstack-2.91.60.h.patchis a copy of the 2.91.66 one; it applies cleanly. I also added both versions to the CI matrix and the README list.Both build with
VERSION=2.91.60 makeandVERSION=2.91.60-psx make, and all Dockerfile tests pass. Rebuilds give byte-identicalcc1andcc1plus(the-psxcc1plussha256 is558334b8f5c3f83796033fcda54a7d9e3641564b31148e05ca3e963df05b1f25).Why it's useful: 1.1.1 and 1.1.2 generate noticeably different code in places. 1.1.2 added a
delete_computationguard injump.c, and struct/scalar aliasing became dependent on-fstructure-noalias. Some PS1 games appear to have been built with 1.1.1. One example is the Tony Hawk's Pro Skater 2 demo: on its decompilation, 1.1.1 matches 83 functions that 1.1.2 doesn't, and 1,644 of 1,646 in total.Happy to adjust naming or drop the plain variant if you'd rather only ship
-psx.