GCCSDK Releases
The last stable GCCSDK Release is GCCSDK GCC 3.4.6 Release 3.
It is strongly recommended that you do not use the older releases; they are maintained here mainly for reference. The older versions may contain serious bugs or generate incorrect code. If there's any reason you cannot use the latest release, then please inform the GCCSDK developers.
From time to time we make a test release which contain the bug fixes done on top of a previous stable release. Currently this is following what has been checked in on the release_3_4_6
branch but is not always garanteed up-to-date and might even contain new yet-undiscovered problems.
RISC OS binaries : Download latest test release
Source : svn co svn://svn.riscos.info/gccsdk/branches/release_3_4_6
GCCSDK GCC 3.4.6 Release 3
Released on 17 July 2007. Another interim bug fix release in the 3.4.6 series.
- GCC compiler fixes:
- Assembler fixes:
- Removed the built-in limit of 40 include directories.
- UnixLib fixes:
- mktime: Fix corruption of its input structure, bug #152.
- regex.h: Made it usable for C++ programs.
- Fixed incorrect program name determination for programs run as "*Run MyLibrary:myprog".
- fsync: Don't error on files open with O_RDWR.
- strnicmp: Compare lowercased versions of strings rather than uppercase.
- Change EAGAIN value to the same as EWOULDBLOCK, to match TCPIPLibs and Linux. Change EDEADLK value for TCPIPLibs compatibility and add ENOTSUP.
- uname: changed utsname.sysname from "riscos" into "RISC OS" and utsname.machine from "arm-acorn" into "armvxl" with 'x' the major ARM architecture digit.
- Fixed memory access problem when using redirection.
- pthreads can now be used in binaries run under TaskWindow or in Wimp applications without special support code needed.
- SharedCLibrary stub fixes:
- vfscanf, vscanf and vsscanf: made it available.
- fdopen: implemented.
- fileno: fixed which allows C++ fstreams to work.
- Librarian fixes:
- Fixed spurious problem when creating a new library and when run on RISC OS.
GCCSDK cross-compilation improvements:
- Provided -mthrowback option instructing the cross-compiler to sends its warnings and errors via syslog messages to a given RISC OS host. A RISC OS syslogd implementation will then generated normal throwback messages.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_6_v3
GCCSDK GCC 3.4.6 Release 2
Released on 17 September 2006. Mainly an interim bug fix release.
- GCC compilers fixes:
- Correction of Release 1 filename handling regression with GCC.
- Enabling of throwback for C preprocessor.
- Pass gcc include paths through to 'as' assembler. There are known limitations on the current assembler include path support concerning Unix and RISC OS style pathname syntax so we recommend using path variables when you want to specify assembler include directories.
E.g.: gcc -IOSLib: -c source.s -o source.o
- Assembler fixes:
- Allow suffix swapping in its include filenames and adding hdr/Hdr suffixes to its default suffix swap list. This allows RISC OS and cross compilation of same assembler sources which include OSLib headers.
- No longer supporting GCC @ comments. This is no longer needed for the GCCSDK build procedure and allows the @ as built-in variable by default i.e. without having to resort to the -objasm option.
- Assembler now supports all ARMv5E (XScale) instructions (i.e. not including the Thumb instructions).
- Fixed several miss-assemblings or unsupported corner cases: LFMFD, LDC/STC, PLD, LDR/STR(H,SH,SB), etc.
- Added testcases for future regression tests.
- UnixLib fixes:
- Improvement of backtrace and error handling: showing info on all current threads and demangled C++ function names.
- readdir: fix in its suffix swapping code and improved POSIX behaviour.
- unixify: fix memory leak and return value.
- riscosify: avoid using hard-wired "/home/riscos/env/" path.
- Stability fix when <Alt><Break> is used.
- Conditional support for XScale compilation.
- Librarian fixes:
- Replacing AOF object in ALF file didn't work.
- Several code fixes improving its stability.
- Linker fixes:
- 'hide' edit command did not always work.
- Fix for C++ using SharedCLibrary. Examples Makefile updated to build hello world examples in different ways.
- Various documentation updates.
GCCSDK cross-compilation improvements:
- Improved memory debugging support, allowing use of Dmalloc instead of Fortify.
- Allow building of processor specific toolchains using the --with-arch, --with-tune and --with-float configure options. In particular, allow building of GCC and UnixLib which, apart from ARMv3, also target ARMv3M (like ARM7), ARMv4 (like StrongARM) and ARMv5TE (like XScale) architectures by default.
- Improvements of the "porting scripts" which are also used by the GCCSDK Autobuilder:
- Autobuilder now uses separate X libraries instead of relying on monolithic X tree. Many other autobuilder packages updated. Non-Debian source fetcher improved. Many dependencies added so that many packages can be built with just one command.
- Faster --ro-recursive implementation.
- Parallel build support.
- Created pkg-config wrapper to make sure only cross-compiled pkg-config files are found.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_6_v2
GCCSDK GCC 3.4.6 Release 1
Released on 12 June 2006. This is the last upstream compiler release in the 3.4.x series, and is largely a feature addition release with a small number of non-critical bug fixes. Most future development upstream and for RISC OS will focus on GCC 4.x series compilers. In particular, the forthcoming GCC 4.2 version. There may be future releases of GCC 3.4.6 for RISC OS with bug fixes if required.
- Update to GCC 3.4.6 release.
- cmunge: Upgraded to v0.76 which has fixes for the carry-capable veneer return problem and a workaround for the broken handling of the system call in Pace SCL seen on Iyonix. All details in !gcc.docs.CMunge.History.
- Provided two new GCC options -mlibrary-static-data-offset and -mclient-static-data-offset (latter being default) which when compiling module code to be able to use the library static data offset (at sl-540) instead of the client static data offset (sl-536). Graham Shaw.
- Added resgen, a tool to create an AOF file encapsulating one or more files ready for (de)registering with ResourceFS.
- Several bug fixes and enhancements were done:
- as : solved bug #149; support for offset parameter in ALIGN; support for ALIGN AREA attribute; alignment happens with zero bytes instead of random bytes; support for rotated constants.
- decaof : made it more robust.
- drlink : new option -strict to treat warnings as errors. The linker invoked by gcc will add the option -strict when environment variable TLINK_STRICT has been defined (value unimportant).
- gcc : better -mapcs-26 vs -mapcs-32 behaviour but note that -mapcs-26 support is deprecated.
- gcc/as/drlink : RISC OS binaries have support for reading/writing "program/c" RISC OS files in addition to "c.program" files (but the command line argument still specifies them as "program.c").
- libfile : increased compatibility with Acorn/Castle libfile version.
- UnixLib : bug fix details in separate !gcc.docs.UnixLib.Changes file.
- SharedUnixLibrary (v1.10) : support for RISC OS versions where the module private word is in USR read-only memory.
- Various Autobuiler and porting-tool enhancements.
- GCCSDK build enhancements:
- Move CVS to SVN changes.
- GCC ARM backend/drlink : support for 64-bit platforms (x86_64).
- Solaris 8 SPARC support
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_6_v1
GCCSDK GCC 3.4.5 Release 1
Released on 15 February 2006. This is the first and most probably the only release of GCC 3.4.5 for RISC OS.
Featuring:
- Update to the GCC 3.4.5 release.
- RISC OS modules can now be created in C++ too.
- cmunge: Upgraded to v0.72 which now contains GCCSDK support and several bugs fixes and enhancements.
- Porting tools are now using the environment variables GCCSDK_INSTALL_ENV and GCCSDK_INSTALL_CROSSBIN to locate their files. This allows easy switching between multiple cross-compiler versions or installation at non-default directories.
- Included Andreas Dehmel's DRenderer v0.52 source & binary which recently became GPL licensed. Any future development of DRenderer can happen in the GCCSDK project.
Important bug fixes:
- Longstanding Fortran COMMON bug is fixed.
- Calling SharedCLibrary functions (-mlibscl option) having one or more float arguments resulted in wrong behaviour. This is now fixed.
- as: Under some circumstances, reserved AOF symbol attributes were set and this could be triggered too by GCC usage of 'as'. drlink: A warning is given when unsupported/reserved AOF symbol attributes are detected.
- UnixLib's regex implementation is now derived from the PostgreSQL codebase resulting in significantly faster timings.
- UnixLib got several bug fixes which improved its stability and its API compliance.
- The module SharedUnixLibrary got two important bug fixes resulting in version 1.09.
- Removed the old (26 bit only) rink version as there is now elsewhere a 26/32 bit neutral version.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_5_v1
GCCSDK GCC 3.4.4 Release 3
Released on 8 July 2005. This is the third full release of GCC 3.4.4 to RISC OS.
- This is a full release of the upstream 3.4.4 compiler and the first released version of GCC to have RISC OS module support.
- This version also contains more fixes and improvements to GCC and UnixLib. See the 'Changes' document inside !gcc for more information.
- This release includes SharedUnixLibrary 1.07.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_4_v3
GCCSDK GCC 3.4.4 Release 2
Released on 6 May 2005. This is the second full release of GCC 3.4.4 to RISC OS.
- Despite the name, this is technically a pre-release version of the upstream 3.4.4, but is simply labelled 3.4.4 for RISC OS purposes. We consider this compiler stable.
- This version contains more fixes and improvements to GCC and UnixLib than any previous version. See the 'Changes' document inside !gcc for more information.
- This release includes SharedUnixLibrary 1.06.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_4_v2
GCCSDK GCC 3.4.4 Release 1
Released on 25 December 2004. This is the first release of GCC 3.4.4 for RISC OS.
- As with 3.4.1, there are again extensive improvements to UnixLib, and some important GCC and toolchain bug fixes.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_4
GCCSDK GCC 3.4.1 Release 1
Released on 5 October 2004. This is the first and only release of GCC 3.4.1 for RISC OS. This GCC release was taken after abandoning the 3.3 branch.
- It contains many extensive improvements to UnixLib.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_4_1
GCCSDK GCC 3.3.3 pre-release 2
Released on 18 April 2004. This is the second release candidate of the first big update to RISC OS GCC in two years. It is is considered stable enough for general use. It contains a C, C++ and Fortran 77 compiler along with an assembler, a linker and the standard run-time libraries, Libstdc++ and a pre-release of UnixLib 4.0.
The Fortran compiler is an optional download and has not undergone much testing. You are welcome to try it.
This release contains bug fixes for RISC OS filename handling, an interactivity problem with AMU and updates for diffutils, flex, grep, make, patch and sed.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_3_3_3_pre2
GCCSDK GCC 2.95.4 Release 3
Released on 5 January 2003. This is the third release of GCC 2.95.4 for RISC OS. The reason for release is to correct a bug in the backend assembler that can cause miscompilation of pre/post index addressing in LDR/STR instructions.
The Fortran compiler is an optional download but it is still not supported. The G95 compiler is improving and now supports basic code generation, but is not anywhere near usable yet.
RISC OS binaries : Download
Source : svn co svn://svn.riscos.info/gccsdk/tags/release_2_95_4_v3
GCC 2.7.2.1
This was the first compiler port. It is considered stable and functional. There are a few minor installation problems. The compiler has source code translators for C, C++, Pascal, Ada 9X and Fortran 77.
Its Unixlib contains many bugs, and it should be avoided.
This distribution has not been updated since April 1997.
GCC 2.4.5
GCC and GCCSDK pages |
GCC under RISC OS GCC for RISC OS, GCC tutorial, GCC common switches, GCC for beginners, UnixLib, ELFLoader |