[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#102193: gcc-3.0: compiled code with gcc 3.0 is slow and big



Phil Edwards writes:
> On Tue, Jan 08, 2002 at 06:27:20PM +0100, Matthias Klose wrote:
> > how stable is this compared to 3.0.3? Is the ABI upward compatible, so
> > that it could replace 3.0.3?
> 
> Good point.  This is something a lot of people get confused by.  Including
> me, so get your grains of salt ready.
> 
> The C++ ABI is stable.  The libstdc++ ABI is not.  Yet.
> 
> 3.0 -> 3.1 changes the libstdc++ ABI.  We would like for the libstdc++
> released with GCC 3.1 to be the base of a stable ABI.  With only a few
> people actively contributing/changing code, I have no idea whether that'll
> happen or not.  (The code can't stay as it is; it's way too inefficient
> in some cases.  The idea was to get the library /correct/ first and then
> start sweating over speed and whatnot; now we're doing that.
> 
> The library 3.0.95 snapshot is the 3.1 sources as of a few weeks ago,
> with the exception-handling bits tweaked to work with GCC 3.0.

assume we want to get 3.0.95 into the Debian woody release, we have to

- separate out the current libstdc++.{so,a} in the gcc-lib dir into
  a libstdc++3-dev package.

- make new libstdc++3.0.95 and libstdc++3.0.95-dev packages.

- make libstdc++3-dev and libstdc++3.0.95-dev packages to each other

- depend g++-3.0 on libstdc++3-dev | libstdc++3.0.95-dev

- add for all packages which currently have a build dependency on
  g++-3.0 a build dependency on libstdc++3-dev

The last one has the biggest impact on the Debian release process ...

On the other hand, iff libstdc++ 3.0.95 is upward compatible
(libstdc++ ABI) to libstdc++ 3.0, then we can package 3.0.95 in the
current libstdc++3 package and ensure by the shlibs dependency, that
dependent packages depend on 'libstdc++3 (>= 1:3.0.95)'. I am
unknowable if this condition holds at least for all Debian GNU/Linux
architectures and the GNU/Hurd. If we think the precondition holds,
update the packages and then have to revert the upgrade ...

Currently g++-2.95.4 (CVS) is Debian's default C++ compiler on most
architectures, g++-3.0 is the default compiler for hppa and an option
for all other architectures. To play safe for the Debian woody release
I would like to keep out 3.0.95 for woody. If there is much interest
in gcc-3.1 for woody, we can build 3.1 packages for woody and offer
them on some site as an addon.

	Matthias



Reply to: