GCC v4.4.2

Requires libc063.dll available from ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip

Instructions for use:
- Currently installs into \usr\local44 so as not to interfere with an **existing, mandatory** GCC 3.3.5 install in \usr\bin
- See sample compiler environment setup scripts (in \usr\local44) for required differences compared to GCC 3.3.5
- report any problems via email to paul@smedley.id.au or via http://mantis.smedley.info or to Smedles on irc.netlabs.org Channel #netlabs

Known Issues:
- many executables will depend on gcc442.dll due to the default being to use a shared libgcc.  Until such time as a newer libc uses gcc 4.x, there is no way to avoid this, unless you change to using a static libgcc - which will increase the executable size, but remove the gcc440.dll dependency.  'set GCCOPT=-static-libgcc' should do the trick.
- optlink does not yet work correctly


Updates since original build of GCC 4.3.2:
- Added threading support (20081011 build)
- fixed problem with stdcall that produced errors like '{standard input}:75: Error: invalid character '_' in mnemonic' (20081012 build)
- fixed (hopefully) 'internal compiler error' crashes when -fPIC is used
- Added support for precompiled headers based on cygwin code (untested) (20081012 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) probelm 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)
- Revamped emx.c and emx.h based on the changes to winnt.c & cygming.h that were made between GCC 4.2.x and 4.3.x (20090116 build)
- Fixed compilation of Seamonkey (and presumably Thunderbird) (20090116 build)
- Updated to GCC 4.3.3 source code (20090126 build)
- Added summport 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)
- Updated to GCC 4.4.0 (20090425 build)
- Removed some symbols from libgcc_eh.a that are already contained in libc063.dll - fixes static-libgcc builds of Firefox (20090425 build)
- Included updated emxomf that recognises some new stabs variables (20090503 build)
- Fixed 'unknown stabs type' warnings when compiling/linking with -Zomf (20090503 build)
- Fixed building of Firefox that was broken in the GCC v4.4.0  20090503 build (20090725 build)
- Updated source to GCC 4.4.1 level (20090725 build)
- Updated source to GCC 4.4.2 level (20091204 build)
- Fortran is included (20091204 build)

This build hasn't had huge amounts of testing, but has been used to build Scribus, Firefox 3.0cvs and ffmpeg successfully. Any feedback on things that work/don't work vs GCC 3.3.5 would be appreciated!

If you like this software and want to support continued ports, please consider donating via PayPal via the link in the footer at http://smedley.info/os2ports or via the Mensys online store at http://www.mensys.net/os2ports

Cheers,

Paul Smedley
Adelaide, Australia
4th December, 2009 
