PACKAGE NAME: neko_gcc6 SOURCE/VERSION: gcc-6.5.0 DESCRIPTION: The GNU Compiler Collection. See http://gcc.gnu.org/ for more information. Languages supported by this package: C, C++, Fortran in MIPSIV, multiib mode Compiled with support for Graphite loop optimizations. ENVIRONMENT VARIABLES: Use bash, tcsh and ksh will break due to arg size. Used didbs for support shi due to laziness, but 100% not required. LD_LIBRARYN32_PATH=/opt/xeno/lib32:/usr/lib32:/usr/nekoware/gcc6/lib32:/opt/gcc/lib32:/lib32:/usr/lib32/internal/mozilla:/usr/didbs/lib32 CPPFLAGS=-I/opt/gcc/include -I/usr/nekoware/gcc6/include -I/usr/include LD=/usr/nekoware/gcc6/bin/ld AS=/usr/nekowar/gcc6/bin/as PATH=/usr/didbs/bin:/opt/gcc/bin:/usr/nekoware/gcc6/bin:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/bin:/etc:/usr/etc:/usr/bin/X11 BUILD PROCESS: ### Gather GCC Prerequisites Before this, use a package that installs: bash gnu make perl gnu awk or neweoe awk byacc curl schily tar (or gnu tar, you cannot use IRIX tar due to path limits!!!) This guide won't cover them. ### Set up an in-tree build. Using my helper script: http://contrib.irixnet.org/raion/gcc-patches-and-scripts/download_prereqs.sh place this in the GCC root , chmod +x check versions and run. Some GCCs require later versions. The ISL version I used is .18 DO NOT BUILD GMP/ISL/MPC/MPFR OUT OF TREE. This is how mistakes get made. Don't do it. ## Install Prereq libraries Install zlib. ./configure --prefix=/usr/nekoware/gcc6 --libdir=/usr/nekoware/lib32 gmake gmake install Install libffi ./configure --prefix=/usr/nekoware/gcc6 --libdir=/usr/nekoware/lib32 gmake gmake install Install binutils (including gnu ld) (Download prepatched code:i http://contrib.irixnet.org/raion/gcc-prepatched/binutils-2.23.2.tar.gz ) ./configure --prefix=/usr/nekoware/gcc6' '--libdir=/usr/nekoware/gcc6/lib32' '--enable-werror=no' \ '--disable-nls' '--disable-iconv' '--disable-gprof' '--with-system-zlib' gmake gmake install ### Patch GCC cd /root (assuming gcc-6.5.0 is here) patch -p1 < gcc-6.5.0-omnibus-irix.patch ### Set up GCC build directory mkdir build-6 && cd build-6 ### Configure, build, and install GCC ../gcc-6.5.0-irix/configure --prefix=/usr/nekoware/gcc6 --libdir=/usr/nekoware/lib32 --disable-silent-rules --with-system-zlib \ --with-libffi=/usr/nekoware/gcc6 --disable-nls --enable-multilib --disable-bootstrap --enable-obsolete --enable-threads=posix \ --disable-lto --enable-static --enable-dynamic --enable-languages=c,c++,fortran gmake gmake install Disabling nls unlinks gettext, bootstrap was found to be unnecessary (bootstrapped GCC 6.5.0 was used as master compiler), disable LTO due to global object table bug in gnu ld, and nobody ever used ObjectC/C++ on IRIX so it was unneeded. ### Test GCC gmake check-gcc-c gmake check-gcc-c++ gmake check-target-libstdc++-v3 gmake check-gcc-fortran ### Clean up cd ../.. rm -rf build-6 ### TEST RESULTS === gcc Summary === # of expected passes 81595 # of unexpected failures 470 # of unexpected successes 15 # of expected failures 171 # of unresolved testcases 17 # of unsupported tests 1806 Failures: https://pastebin.com/eKwMrgUT === g++ Summary === # of expected passes 93269 # of unexpected failures 14 # of expected failures 313 # of unsupported tests 4151 Failures: https://pastebin.com/mHunc8bD === libstdc++ Summary === # of expected passes 9471 # of unexpected failures 119 # of expected failures 66 # of unresolved testcases 2 # of unsupported tests 967 Failures: https://pastebin.com/a0vnnMQi === gfortran Summary === # of expected passes 42294 # of unexpected failures 124 # of expected failures 78 # of unsupported tests 97 Failures: https://pastebin.com/C30hwj0a ADA and Java not attempted -- not supported/no bootstrap available. libgo failure point: https://pastebin.com/dUrTrP3x -- had to disable werror in configure scripts. PATCHES/SOURCE: Patch: http://contrib.irixnet.org/raion/gcc-patches-and-scripts/gcc-6.5.0-omnibus-irix.patch Source (No Patch Required): http://contrib.irixnet.org/raion/gcc-prepatched/gcc-6.5.0-irix.tar.gz KNOWN DEPENDENCIES: none (prerequisites linked in statically) INSTALLATION: Set your LD_LIBRARYN32_PATH to include /usr/nekoware/gcc6/lib32. IT IS NOT A BUG. PACKAGED BY: Kazuo Kuroi (Raion) at irixnet.org Credits To: Andrej Bukosek (andrej dot bukosek at gmail dot com) GCC 4.7.1 build and docs Onre and Northsky at SGUG for advice, encouragement and documenting Daniel Hams For didbs and previous GCC contributions on IRIX All of my awesome friends at irixnet.org for helping my dumb ass make this possible