delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/10/01/14:50:23

Message-Id: <200210011849.g91InYB09944@delorie.com>
From: Andris Pavenis <pavenis AT latnet DOT lv>
To: djgpp-announce AT delorie DOT com
Subject: ANNOUNCE: DJGPP port of GCC-3.2
Date: Tue, 1 Oct 2002 20:57:58 +0300
User-Agent: KMail/1.4.7
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id g91Hvx002289
Reply-To: djgpp AT delorie DOT com

This is an announcement of DJGPP port of gcc-3.2

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.2/changes.html for more detailed information
about new features and other changes in gcc-3.2

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 
practically only test I have done.

=====================================================================
NOTE: I have changed to use DWARF2 debugging info by default (when
You specify GCC command line option -g or -g3, ...). DWARF2 debugging info was
already available for DJGPP since GCC-3.0, but was not the default.
As result You need also new version of GDB for debugging: gdb521b.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. 

Also symify.exe from djdev203.zip works with COFF debugging info only.
You need bfdsymify.exe instead (from gdb521b.zip) when DWARF2 or stabs
debuging info is being used
=====================================================================

Archives are available from DJGPP distribution in Simtelnet
(and mirror sites) in directory v2gnu:

There are 6 archives:
   gcc32.README - readme file from DJGPP port of GCC-3.2. It's
                  in separate file to avoid need to download large archives
                  to get this file.
   gcc32s.zip  - sources of gcc-3.1. I put all sources in a single
                  archive. This file is only needed if You're want to
                  rebuild gcc-3.1 from sources.
   gcc32b.zip  - binaries of C compiler
   gpp32b.zip  - binaries of C++ compiler (needs gcc31b.zip)
   g7732b.zip  - binaries of Fortran compiler (needs gcc31b.zip)
   objc32b.zip - binaries of Objective C compiler (needs gcc31b.zip)
   gcc32s2.zip - shell script and patches for original gcc-3.1.
                  I used them to generate gcc-3.1 sources for DJGPP
                  (gcc32s.zip). 
   ada32b.zip  - binaries of ADA compiler (warning: practically untested)

Files user need:
   Programming languages  Needed files
   C                      gcc31b.zip
   C++                    gcc31b.zip, gpp31b.zip
   Fortran                gcc31b.zip, g7731b.zip
   Objective-C            gcc31b.zip, objc31b.zip
   ADA                    ada32b.zip, gcc32b.zip 

NOTE: gcc32b.zip contains file cxxfilt.exe and there is file with same
      name in binutils (for example bnu213b.zip). You can safely 
      overwrite the old one.

NOTE: If You have already downloaded gcc-3.2 archives from directory
      v2gnu/betas then there is no need to download them more as
      nothing is changed except timestamp of archives (but not of files 
      inside)

For more information about this port see archive
   gnu/gcc-3.2/readme.DJGPP
after unpacking either gcc32b.zip or gcc32s.zip or get file
gcc32.README from directory v2gnu in DJGPP distribution

Also please DON'T mix C++ libraries (or object files) built with
different compiler versions. C++ sources should be recompiled (seems
that there is no need to do this for C sources). Object files generated 
by GCC-3.2 from C++ sources are incompatible with object files (or
libraries) generated from C++ sources by any earlier GCC version.
So all C++ sources must be recompiled after upgrade to GCC-3.2.

System requirements
===================

Latest update of DJGPP-2.03 (or above when available). Please verify
whether You have a newest one.

binutils-2.13 or above. It's no more possible to use binutils-2.8.1
  or 2.9.1. Command line option -mno-bnu210 is no more supported.
  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.2 does more strict
syntax checking than gcc and egcs versions older than gcc-3.1. 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 should 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 <djgpp AT delorie DOT com>.


Happy hacking

Andris Pavenis <pavenis AT lanet DOT lv>



--------------------------------------------------------------------------
Informal release notes for GCC 3.2

3.2 is a small bug fix release, but there is a change to the application
binary interface (ABI), hence the change to the second part of the version
number.

The main purpose of the 3.2 release is to correct a couple of problems in
the C++ ABI, with the intention of providing a stable interface going
forward.  Accordingly, 3.2 is only a small change to 3.1.1.

In addition, a number of bug fixes for the C++ standard library are
included in this release.

There is one platform-specific bug fix (for x86-64 - AMD's 64-bit
architecture) Other than that, for users of C, Java, Objective-C, Ada, or
Fortran, there are no significant changes with respect to 3.1.1.

Below you will find a list of the problem reports (PRs) from GCC's bug
tracking system (GNATS) that are known to be fixed in the 3.2
release. This list might not be complete (that is, it is likely that some
bug fixes have been missed).

To learn more about a particular PR, visit the link

        http://gcc.gnu.org/cgi-bin/gnatsweb.pl

and enter the PR number in the "View Problem Report" dialog box.  Then
click the "View" button.  It's not necessary to log in to view reports.

C++:
7320: g++ 3.2 relocation problem
7470: vtable: virtual function pointers not in declaration order

libstdc++:
6410: Trouble with non-ASCII monetary symbols and wchar_t
6503, 6642, 7186: Problems with comparing or subtracting various types
                  of const and non-const iterators
7216: ambiguity with basic_iostream::traits_type
7220: problem with basic_istream::ignore(0,delimiter)
7222: locale::operator==() doesn't work on std::locale("")
7286: placement operator delete issue
7442: cxxabi.h does not match the C++ ABI
7445: poor performance of std::locale::classic() in multi-threaded 
applications

x86-64 specific:
7291: off-by-one in generated inline bzero code for x86-64

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019