GNU binutils - Files


Summary |  Bugs |  Patches |  Lists |  News |  Source |  Files | 
Notes

Release Name: 2.13.2.1-1 [Download]

Notes:

This is the PS2-compatible binutils for PS2/Linux and native PS2. It contains full support for the R5900 core of the Emotion Engine. The DVP assembler is not supported in this release, I hope to support it in a later release.

Native PS2 users should be able to use this distribution as a drop-in replacement for their current toolchain. The GCC found at http://ps2dev.sourceforge.net/ works flawlessly with this package (in my tests, anyway). Let me know if you have problems.

As for Linux users:

  • The shared libraries generated by the 2.13.2.1 linker are not compatible with the current PS2/Linux distribution.

    I believe the dynamic linker in Glibc is too old to deal with the information stored in the modern shared libraries. When executing a dynamic executable that references one of these libraries, the dynamic linker will fail with:
    error while loading shared libraries: libname.so: cannot load shared object file: Invalid argument

    The solutions are: a) upgrade Glibc, b) use the original binutils when building packages that have shared libraries, c) build every package that creates shared libraries with -static.

    Option a is ideal, but I'm not sure how feasible it is given the Glibc patches distributed with kit. If anyone knows anything about a newer Glibc release for PS2/Linux, please e-mail me.

  • GCC's backend is outdated.

    You must modify the original kit's GCC (2.95.2) backend in order to properly generate executables with the new tools. I do not know if this is required for the GCC 3.0.3/4 release.

    Locate GCC's "specs" file by running "gcc -v" at the command prompt:

      $ gcc -v
      Reading specs from /usr/lib/gcc-lib/mipsEEel-linux/2.95.2/specs
      gcc version 2.95.2 19991024 (release)
    

    As root, edit the specs file, locate all strings called "mcpu" (without quotes) and change them to "march" (also without quotes).

    If you do not do this, any attempt to build an executable with GCC will fail.

Please read the file README.PS2, located in the patch or source RPMs (or installed in /usr/doc/binutils-2.13.2.1-1/) and see ChangeLog.PS2 for a list of changes.

Bug reports go in the bug tracker for this project; questions and comments go to binutils-devel@playstation2-linux.com.


Changes: