GCC: Difference between revisions
From TechPubs Wiki
Created page with "The GNU Compiler Collection is officially supported on IRIX through GCC 4.7. Unofficial support by various groups has resulted in versions as high as 9.5 being successfully built. Officially Supported Versions GCC 3.4.6 is in the Nekoware collection, and is one of the older versions to survive linkrot. GCC 3.3 was distributed via SGI freeware. 4.x versions include 4.6.3 in Nekomimiware (A play on Nekoware's name), and GCC 4.7.1 is packaged by Nekoware as well. An olde..." |
No edit summary |
||
| Line 1: | Line 1: | ||
The GNU Compiler Collection is officially supported on IRIX through GCC 4.7. Unofficial support by various groups has resulted in versions as high as | The GNU Compiler Collection is officially supported on [[IRIX 6.5]] through GCC 4.7. Unofficial support by various groups has resulted in versions as high as 15.x being successfully built. | ||
== History == | |||
GCC has been a target of IRIX support since the 1990s. Older IRIX versions of IRIX had GCC 1.x and 2.x support in particular. As [[MIPSPro]] and [[IRIS Development Option]] were neither open source nor free to purchase, it was a vital tool for early development. | |||
GCC support for IRIX 6.5 was maintained through the 4.7 branch, after which the maintainer removed it due to IRIX's discontinuation and obsolescence. | |||
GCC | == Caveats with GCC == | ||
GCC has a number of incompatibilities and bugs, many of which remain unfixed: | |||
* GCC on IRIX uses the [[Itanium]] C++ ABI, which is both incompatible with libC.so (SGI's C++ library) and object files generated by CC/MIPSPro, including Viewkit, libFAM, and other system libraries. This complicates building on GCC and necessitates C++ library reduplication. | |||
* GCC's Ada, Java and Go compilers have been broken on GCC for a long time. Ada's last known version was 4.2. | |||
* Object C and C++ build fine, but remain untested. Fortran builds and passes most tests. | |||
* GCC will sometimes break C binaries for unknown/hard to debug reasons, therefore it's preferable to build the C libraries with MIPSPro in most cases. | |||
* GCC does not output proper DWARF debug format for [[dbx]] (The IRIX debugger) to work correctly, and gdb has known problems on IRIX (no threads, incorrect stack traces etc.) | |||
== Known Distributions == | |||
Latest revision as of 04:19, 17 November 2025
The GNU Compiler Collection is officially supported on IRIX 6.5 through GCC 4.7. Unofficial support by various groups has resulted in versions as high as 15.x being successfully built.
History
GCC has been a target of IRIX support since the 1990s. Older IRIX versions of IRIX had GCC 1.x and 2.x support in particular. As MIPSPro and IRIS Development Option were neither open source nor free to purchase, it was a vital tool for early development.
GCC support for IRIX 6.5 was maintained through the 4.7 branch, after which the maintainer removed it due to IRIX's discontinuation and obsolescence.
Caveats with GCC
GCC has a number of incompatibilities and bugs, many of which remain unfixed:
- GCC on IRIX uses the Itanium C++ ABI, which is both incompatible with libC.so (SGI's C++ library) and object files generated by CC/MIPSPro, including Viewkit, libFAM, and other system libraries. This complicates building on GCC and necessitates C++ library reduplication.
- GCC's Ada, Java and Go compilers have been broken on GCC for a long time. Ada's last known version was 4.2.
- Object C and C++ build fine, but remain untested. Fortran builds and passes most tests.
- GCC will sometimes break C binaries for unknown/hard to debug reasons, therefore it's preferable to build the C libraries with MIPSPro in most cases.
- GCC does not output proper DWARF debug format for dbx (The IRIX debugger) to work correctly, and gdb has known problems on IRIX (no threads, incorrect stack traces etc.)