IRIX Network Forums
GCC 6 for Nekoware - Printable Version

+- IRIX Network Forums (//forums.irixnet.org)
+-- Forum: SGI/MIPS (//forums.irixnet.org/forum-3.html)
+--- Forum: IRIX/Software (//forums.irixnet.org/forum-7.html)
+---- Forum: Nekoware (//forums.irixnet.org/forum-56.html)
+---- Thread: GCC 6 for Nekoware (/thread-4424.html)

Pages: 1 2


GCC 6 for Nekoware - Raion - 12-24-2024

Why?

GCC on IRIX has been a bit "broken". Not broken in the sense of "It doesn't work" but "it's kinda cobbled together". This is the first of hopefully more successful attempts to combine and fix IRIX's GCCs for future use by users. 

GCC 6 is a goldilocks GCC. It's substantially newer than older GCC iterations, so it brings benefits (C++14 support) but it is not too far away that testsuites can get next to useless and it builds cleanly. 

What's different from SGUG's GCC 9.2?

This GCC has been patched for:

Multilib (32/64-bit support)

Fortran (I know, who the hell cares, but I tried!

Bootstrapping (Cross compiling GCC, AFAICT, precludes this. It can make the resultant GCC more broken). 

Built prereqs in tree (This is less error prone. It may make a better GCC, it may not, but it's better IMHO)

This GCC has less testsuite failures, which might indicate better code generation. GCC 9.2.x when I built and ran, had inordinate test failures. These are less painful. 

Where's the code?
Patch: http://contrib.irixnet.org/raion/gcc-patches-and-scripts/gcc-6.5.0-omnibus-irix.patch

My helper script for downloading (Uses optxeno and schily tools star)http://contrib.irixnet.org/raion/gcc-patches-and-scripts/download_prereqs.sh

Pre-patched codehttp://contrib.irixnet.org/raion/gcc-prepatched/gcc-6.5.0-irix.tar.gz

Nekoware package to come soon™: http://contrib.irixnet.org/raion/tardists/neko_gcc6.tardist

What patches have all been merged?

I used Onre's/Daniel Ham's patches as a base, used larbob's bootstrap patch from 4.7.3 (I think he got it from a mailing list, but credit where due!), the Andrej patch for libgomp, and a bunch of hacks by me and Aurxenon. Onre's fixincludes proved critical to fix broken IRIX headers.

What did you use to build it?

I uh, used a version of GCC 4.7.4. I compiled using neko_gcc while wasted and somehow forced neko_gcc to accept broken include files. Don't know how, didn't document it and I apparently turned the Tezro off. I used the GCC 6.5.0 from that to build a bootstrap, then used that to build this GCC. It got comparable marks, so I skipped bootstrap (last compilation to finalize binutils and other deps)

No matter, just use my GCC here as a download.

Did you document the build?

Relnotes are here: http://contrib.irixnet.org/raion/relnotes/neko_gcc6.txt

It has everything you would expect including all information on how I built them. 

What's the next step?

Please test and use the compiler. Let me know how it runs. I will be adding the nekoware package to /beta once built.


RE: GCC 6 for Nekoware - Raion - 12-24-2024

After having a GCC expert review the test suite failures the majority of the compiler related failures are minor. She informed me that the only concern might be related to floating point related code so if someone wants to poke around with that I wouldn't be insulted.

The only concern that we have is that name mangling might be a bit screwy if the test suite results for libstdc++v3 are an indication. I'm not 100% but I will figure that out and at some point I will go through and disable the tests that are obviously not related to SGI mips.

All in all I'm pretty pleased with what has come out of this.


RE: GCC 6 for Nekoware - Raion - 12-24-2024

The main areas that I would like people to help test are:

64-bit. I built the compiler with 64-bit support so running 64-bit code should be doable.

C++. I'm not overly concerned about the ability of it to build C++ because it was able to build itself twice already but you never know.


RE: GCC 6 for Nekoware - Geoman - 12-28-2024

A fellow of mine tried to build Chromium on it. Now with GCC6 available, he could retry.


RE: GCC 6 for Nekoware - vishnu - 12-28-2024

Actually, Fortran is a huge part of the code we write at my place of employ. Our code has to follow government mandated life-critical safety rules.


RE: GCC 6 for Nekoware - Raion - 12-28-2024

(12-28-2024, 11:52 AM)Geoman Wrote:  A fellow of mine tried to build Chromium on it. Now with GCC6 available, he could retry.

That's a very lofty goal but I hope that it helps in some small way with some project


RE: GCC 6 for Nekoware - Raion - 01-06-2025

Tardist uploaded. Give it a shot for me please


RE: GCC 6 for Nekoware - xc68000 - 02-27-2025

So, I would like to help, but there is more to setting up a compile tool chain than just installing the above right?

Is there any doco on how to set that up correctly with the appropriate headers and Environment variables to actually successfully compile something that you could point me to?

Thx


RE: GCC 6 for Nekoware - Raion - 02-27-2025

https://forums.irixnet.org/thread-4494.html

I got a bunch of WIP docs here.

Your install needs the development foundations 1.3 and development libraries installed as well as the mipspro compiler.

If you want to build something with GCC, you should be aware of the caveats involved. It's not a bad compiler but it has some things that need to be observed.


RE: GCC 6 for Nekoware - xc68000 - 02-27-2025

Thanks,

I have the Mipspro 7.4 cd but I though it was only C and C++ required a flexlm.

Do you know what C++ standard mipspro supports? I was taking to the lead of the bzflag project (my fav sgi game of all time) and he was telling me that the 2.4 release uses some C++ v11 features.

EDIT: I think mipspro support C++ 98 standard and GCC6 supports up to v14