Mainly due to the fact that GCC 3.3.5 (which is what is currently used by kLibc) is becoming too old to build the latest Mozilla trunk code, I started working on building a newer version of GCC.
I’ve started with v3.4.6 – as the thought was that the amount of changed between 3.3.5 and 3.4.6 would be comparatively small compared with aiming for the ‘latest’ GCC (currently 4.3.3). I now have builds of 3.4.6, 4.0.4 and 4.3.3; The current binary of GCC 4.3.3 has been used to build several projects successfully – ie rsync, Apache2, MySQL, Firefox 3.0-cvs, Ghostscript, ffmpeg amongst others
Known Issues with the current 4.3.3 release (2009-2-24)
– link warning when using -Zomf – emxomf will require updating to deal with the new stabs types, but according to Knut, these warnings can be safely ignored, and only affect debugging
Updates since original build – the date in brackets reflects the first build that contained the fix
- – Added threading support (2008-10-11 build)
- – fixed problem with stdcall (2008-10-12 build)
- – fixed (hopefully) ‘internal compiler error’ crashes when -fPIC is used (2008-10-12 build)
- – Added support for precompiled headers based on cygwin code (untested) (2008-10-12b build)
- – Fixed ‘gcc conftest.c -lgcc’ produced -lgcc.exe (20081012b build)
- – Fixed problems with cdecl (20081014 build)
- – Fixed (hopefully) problems with fastcall (20081014 build)
- – Binutils 2.16.1 (minus ld.exe) included (20081025 build)
- – Fixed (hopefully) problem with recursive thread support in libstdc++ – thanks Yuri for the patch! (20081025 build)
- – Fixed a problem with dllexport and Seamonkey (20081031 build)
- – Fixed problem with c++ exceptions (20081105 build)
- – Enabled ‘-O3 -march=pentium -mtune=pentium4’ optimisation (20081105b build)
- – Fixed problem with missing ‘popcount*’ symbol when linking certain code (20081116 build)
- – Fixed problems with ‘vtable for xxx’ symbol missing for Seamonkey (20081116 build)
- – Fixed remaining ‘virtual method’ link errors with Seamonkey (20090116 build)
- – Updated to GCC v4.3.3 source code
- – Updated emx.c, emx.h, emx-cxx.c based on latest Win32 code
- – Added support for the GOMP multiprocessor library (untested) (20090224 build)
- – Fixed problems compiling C++ SDL applications (20090224 build)
- – Fixed c++ headers to allow basic wchar support (20090224 build)
– Removed binutils – this will be available separately (20090224 build)
Problems with this build can be reported using my bug tracker at http://mantis.smedley.info
Current binaries: