Symbian GCC Improvement Project

Department of Software Engineering, University of Szeged

This site is dedicated to the improvement of the official Symbian build of GCC. The main problem of the official build is that it is based on GCC 2.9, from the year 1998. The produced code is far from optimal and, what is more disturbing, the compiler often crashes when optimizing.

We have experimented with three ways to improve GCC for Symbian, as listed below.

  • In our first approach we made fixes to the sources of the official GCC, Symbian build 546, to get rid of the annoying errors.

  • In our second approach, with the goal of making a better compiler on our mind, we extended the official GCC 2.95.3 to support the Symbian target (arm-epoc-pe and thumb-epoc-pe).

  • In our third and last approach we tried to make an even newer GCC version Symbian compatible. Therefore, we replaced the C++ front-end of the official GCC 3.0 with a front-end from a developer version of GCC (versioned 2.97), thus reverting the C++ ABI change, and we also made the ARM backend Symbian compatible.

(In the last two approaches we modified GCC to compile on Cygwin 98r2 instead of being compatible with newer and better Cygwin versions, thus making it possible to use the resulting binaries as an update to the original Symbian build of GCC.)

All of the modified GCC versions are downloadable as source tarballs and precompiled binaries from the download section. We hope our results will be useful for all of those, who don't like getting internal compiler errors all the time or simply would like to produce more optimal code for their Symbian devices. If you have comments on our results, please give us feedback!


2005-11-04 No funding
For some time this project has not received funding anymore. The team behind the project still does as much as it can but is low on resources.

2004-10-25 All GCC versions compile with latest GCC
GCC versions 2.9-psion-98r2 (Symbian build 4/546), 2.95.3-psion-98r2 (13/546) and 3.0-psion-98r2 (9/546) are released. These versions can be compiled with the latest GCC versions on Linux (tested with gcc 3.3.4 on Debian 3.1). Since the changes have no effect on the precompiled Windows binaries only source tarballs are provided. The changes are also available as incremental patches.

2004-09-05 Mailing list announced
A new mailing list is set up to allow the open discussion of Symbian GCC related questions.

2004-07-06 COPY FOR DUP FAILED problem fixed
GCC versions 2.95.3-psion-98r2 (Symbian build 12/546) and 3.0-psion-98r2 (8/546) are released. These versions no longer throw COPY FOR DUP FAILED errors when used with Metrowerks' CodeWarrior IDE.

2004-07-06 The project site has moved
The project has moved to a new server. Please update your links to point to the official URL ( if you deep-linked our pages! The old (and unofficial) URLs will become unavailable soon.

2004-06-24 GCC 3.0-psion-98r2 (Symbian build 7/546) released
The first bugfix release since the public announcement. This release disables the "no newline at end of file" preprocessor warning and fixes an ARM back-end bug.

Patches contributed by Jake Hamby are available from this site.

2004-06-10 Symbian GCC Improvement Project announced
GCC versions 2.9-psion-98r2 (Symbian build 3/546), 2.95.3-psion-98r2 (11/546) and 3.0-psion-98r2 (Symbian build 6/546) made publicly available.

mail to webmaster
Last updated: 2005-11-04
©  2004 -  2024, University of Szeged

Symbian and all Symbian-based marks and logos are trade marks of Symbian Limited.
University of Szeged is in no way affiliated with Symbian Limited.