Message-Id: <200503181417.j2IEHgQe019414@delorie.com> From: Andris Pavenis To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: Update of DJGPP port of GCC-3.4.3 Date: Fri, 18 Mar 2005 13:59:21 +0200 Content-Disposition: inline X-Virus-Scanned: by amavisd-new at fgi.fi X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id j2IBxTRr005485 Reply-To: djgpp AT delorie DOT com This is an announcement of an update of DJGPP port of gcc-3.4.3 GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection. See http://gcc.gnu.org/gcc-3.4 for more detailed information about new features, fixed bugs and other changes in gcc-3.4.3. Currently C, C++, Fortran and Objective C compilers are supported for DJGPP. Java compiler is not ported and are not included. Ada compiler (as it itself is written in Ada) is able to bootstrap itself, but this is only test I have done. !!! C++ users must recompile all C++ sources and to avoid mixing object files compiled by this version and earlier versions (even first release of DJGPP port of gcc-3.4.3). Otherwise C++ exceptions may not work properly !!! Additionally use of new GDB versions (6.2 and newer) requires, that all sources are built with this version of GCC or newer. Otherwise GDB commands 'where', 'backtrace' and possibly some others may not work. ===================================================================== NOTE: DWARF2 debugging info is now the default (when You specify GCC command line option, for example -g or -g3, ...). As result You need also new enough version of GDB for debugging: gdb611b.zip (or newer when available) from DJGPP distribution or recent build of RHIDE from http://rhide.sorceforge.net/snapshots. One can still use COFF (GCC command line option -gcoff) and stabs (command line options -gstabs, -gstabs+) for debugging. NOTE: Also symify.exe from djdev203.zip works with COFF debugging info only. You need bfdsymify.exe instead (from gdb611b.zip) when DWARF2 or stabs debuging info is being used DJGPP binaries of GCC-3.4.3 are built and tested mostly under WinXP Pro (SP2).   ===================================================================== NOTE: You need last update of djdev203.zip with timestamp of August 2002 or later ('version: 2.03 patchlevel 2' in file manifest/djdev203.dsm) ===================================================================== Archives are available from DJGPP distribution     http://www.delorie.com/djgpp/getting.html in directory v2gnu: There are 11 archives:    gcc343.README - readme file from DJGPP port of GCC-3.4.3. It's                   in separate file to avoid need to download large archives                   to get this file.    gcc343s.zip  - sources of gcc-3.4.3. I put all sources in a single                   archive. This file is only needed if You're want to                   rebuild gcc-3.4.3 from sources.    gcc343b.zip  - binaries of C compiler    gpp343b.zip  - binaries of C++ compiler (needs gcc343b.zip)    g77343b.zip  - binaries of Fortran compiler (needs gcc343b.zip)    objc343b.zip - binaries of Objective C compiler (needs gcc343b.zip)    gcc343s2.zip - shell script and patches for original gcc-3.4.3.                   I used them to generate gcc-3.4.3 sources for DJGPP                   (gcc343s.zip).    ada343b.zip  - binaries of Ada compiler (warning: practically untested)    gcc343d.zip  - documentation of C compiler and libiberty (in DVI, PS, PDF     and HTML formats)    g77343d.zip  - documentation of GNU Fortran compiler    ada343d.zip  - documentation of Ada compiler (what can be generated from                   GCC sources). Files user need:    Programming languages  Needed files    C                      gcc343b.zip    C++                    gcc343b.zip, gpp343b.zip    Fortran                gcc343b.zip, g77343b.zip    Objective-C            gcc343b.zip, objc343b.zip    Ada                    ada343b.zip, gcc343b.zip For more information about this port see archive    gnu/gcc-3.43/readme.DJGPP after unpacking either gcc343b.zip or gcc343s.zip or get file gcc343.README from directory v2gnu in DJGPP distribution Also please DON'T mix C++ libraries (or object files) built with different compiler versions. C++ sources must be recompiled (seems that there is no need to do this for C sources). Object files generated by GCC-3.4.3 from C++ sources are incompatible with object files (or libraries) generated from C++ sources by any earlier GCC version before GCC-3.4 System requirements =================== Latest update of DJGPP-2.03 (or above when available). Please verify whether You have a newest one. DJGPP-2.04 beta is also OK. binutils-2.13 or above (2.15 or above recommended). Perhaps binutils-2.11.2 or 2.12 could also be used but are not tested Some warning for users of C++. C++ compiler in gcc-3.4.3 does more strict syntax checking than earlier gcc versions before gcc-3.4. As result errors are generated in many places where earlier one got warnings. Note for users of C++ IO classes fstream, ifstream, ofstream ============================================================ There is a regression against GCC versions 2.95.3 and earlier: Member functions tellp(), tellg(), seekp() and seekg() are broken when stream is opened not in binary mode. If You are going to use any similar functions You must open stream in binary mode. Don't ask me when it will be fixed as I don't know that. I'm also not sure I'll spend much time trying to fix that. Send suggestions and bug reports concerning the DJGPP port of GCC to comp.os.msdos.djgpp or . Happy hacking Andris Pavenis