gcc-3.4 upload to unstable
[sent to debian-release earlier this week]
I'm planning the upload of gcc-3.4 packages to unstable this weekend.
There's one overlapping binary package, which is now built by gcc-3.4,
instead of gcc-3.3: libgcc1 (for all architectures but hppa and m68k).
Checked libgcc1 from 3.4 to export at least all symbols that are
exported from the 3.3 based libgcc1 on all archs, installed and used
the new package on i386, powerpc, mips, mipsel, hppa and m68k without
problems.
Due to the tighened libgcc1 (>= 1:3.4.0-1) shlibs dependency there
will be a delay for moving packages to testing.
Someone reported trouble with kernel compilation, but I never could
reproduce it nor got I more info. See #255127. I'm running 3.4
compiled kernels on powerpc and ix86.
In any case a fallback solution in the case of RC reports, gcc-3.4 can
be removed again, and libgcc1 rebuilt from 3.3 sources with an
increased epoch.
No comittment, when and if gcc-3.4 will become the default compiler.
The default compiler will not change for sarge on architectures
currently in testing.
Packages can be found at
http://people.debian.org/~doko/gcc-3.3/
http://people.debian.org/~doko/gcc-3.4/
The following notes are added the 3.3 package descriptions:
Package: gcc-3.4
ABIs changed between gcc-3.3 and gcc-3.4 on some architectures (hppa, m68k,
mips, mipsel, sparc). Please read /usr/share/doc/gcc-3.4/README.Debian
for more details.
Package: g++-3.4
ABIs changed between gcc-3.3 and gcc-3.4 on some architectures (hppa, m68k,
mips, mipsel, sparc). Please read /usr/share/doc/gcc-3.4/README.Debian
for more details. Do not mix code compiled with g++-3.3 and g++-3.4.
The C++ ABI version changed from 102 to 1003.
README.Debian:
Notes on GCC 3.4 in the sarge distribution
------------------------------------------
[package maintainers: when using GCC 3.4 for package building, please
check that your packages still work on platforms with GCC changes
specific for these platforms (hppa, m68k, mips, mipsel, sparc). ]
GCC 3.4 is included in sarge as a newer compiler version, the system
compiler for sarge is GCC 3.3 (the transition to a newer system compiler
is a post sarge issue). Due to some incompatibilities between
3.3 and 3.4 care should be taken, when some code built by both versions
is linked together (most likely linking against a shared library found
in Debian):
- C++ code compiled by g++-3.3 and g++-3.4 is not compatible. Applications
using C++ libraries have to make sure that these libraries are rebuilt.
The ABI version changed from 102 to 1003.
- On hppa and m68k the exception handling changed from SJLJ to Dwarf2 based
exception handling. This affects C++ and code, which implements it's own
handling. If a library or binary ends up linked against libgcc1 _and_
libgcc2, something probably won't work.
- The implementation of the MIPS ABIs has changed. As a result, the code
generated for certain MIPS targets will not be binary compatible with
earlier releases. See http://gcc.gnu.org/gcc-3.4/mips-abi.html
- The implementation of the SPARC ABIs has changed. As a result, the code
generated will not be binary compatible with earlier releases in certain
cases. See http://gcc.gnu.org/gcc-3.4/sparc-abi.html
Reply to: