First, the two patches, binutils and gcc:
http://www.nobis-crew.org/ps2-patches/b ... ch.diff.gz
http://www.nobis-crew.org/ps2-patches/g ... ch.diff.gz
The only difference between this binutils patch and the previous one is the missing instruction MrHTFord noticed is now added. Let me just resume what's in:
-) Merged the three previous releases of dvp-binutils, iop-binutils and ee-binutils into this single one.
-) Added a "ps2" target, which will take both ee and iop features. Meaning that ps2-as supports -march=r5900, as well as -mmipsirx.
-) Added the register aliases patch, that allows you to type registers like $a2 or $t5 instead of the corresponding numberings.
So, the better way to use this package is now to compile it two times, once with the --target=ps2 option, and once with the --target=dvp option.
There is still no changelog or readme... I'm too tired to do that now ^^;
Now, for the gcc patch, I took MrHTFord's latest patch, and I modified it, so you'll find back all the previous features and bugfixes. Now, what's added:
-) Added a "ps2" target, since now the compiler will support both ee and iop (like the ps2-binutils)
-) Added a "-miop" option to ps2-gcc, so that it will behave like iop-gcc. This option will expand as "-march=r3000 -mfp32 -mgp32 -fno-builtin -DR3000 -D_3000 -D__3000 " for the cpp-specs, "-march=r3000 -mips1" for the asm-specs, and "-mmipsirx" for the link-specs.
-) Fixed some miscellaneous problems about that "iop compatibility". Especially the fact that by default, ps2-gcc was acting like compiling on a level 3 mips-ISA. Uglily fixed but working.
-) Fixed an issue that would cause a mingw32 host not compiling straight. (removing the creation of collect2 when creating a cross-compiler). I created two mingw32 packages as well:
http://www.nobis-crew.org/ps2-mingw32/p ... 32msvc.zip
http://www.nobis-crew.org/ps2-mingw32/p ... 32msvc.zip
Now, what does this imply about compiling the rest of the toolchain. There is a really really small patch on the ps2-newlib. Into config.sub, look for the line:
Code: Select all
ee)
Code: Select all
ee | ps2)
For the ps2lib, you have to change the Makefile.prefs in order EE_PREFIX and IOP_PREFIX will be equal to "ps2-", and the Makefile.iopglobal in order to add "-miop" at the end of the IOP_CFLAGS and IOP_LDFLAGS.
After that, if your package includes the ps2lib's Makefiles, there'll be no problem. Otherwise, just don't forget to change the "ee-" and "iop-" prefix into "ps2-" and add "-miop" as a CFLAGS of the iop part of your compilation.
Ho and, don't forget that -mCPU is not to be used anymore... Use -march instead.
For the binary packages I provide, the debian repository is the same as before:
deb http://www.nobis-crew.org/debian/ unstable main
deb-src http://www.nobis-crew.org/debian/ unstable main
and the binary tgz-packages are at:
http://www.nobis-crew.org/ps2-tgzs/
Packages provided are:
ps2-binutils (2.14)
dvp-binutils (2.14)
ps2-gcc (3.2.2, C and C++)
ps2-gcc-base (3.2.2 C only)
ps2-newlib (1.10.0)
ps2lib-cvs
Enjoy, and good night ;-)