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

Re: C++ ABI transition for etch

At Thu, 14 Apr 2005 10:24:01 +0200,
Matthias Klose wrote:
> - The rules outlined above should make the autobuilders build your
>   packages with GCC 4.0.
>   TODO: check for other incompatibilities for non-release
>   architectures,
>   * i.e. sparc and hppa. I.e.: hppa libgcc1 (SJLJ) -> libgcc2
>     (Dwarf2) transition. I.e.: sparc ABI change from 3.3 to 3.4.
>   * The SPARC ABI changes should only relate to complex numbers or
>     less used parts of the SPARC64 ABI.  Mathmatical packages probably
>     should be NMU'd once glibc has been compiled with GCC 4.0 for
>     SPARC.

IIRC, speaking closely, this issue is not C++ ABI transition, it mixes
both architecture specific C ABI change and exception handling
transition, as we talked it at debconf4.

The C ABI change was introduced in gcc 3.4 for alpha, sparc,
powerpc/ppc64, mips.  It's nice we confirm these ABI changes are
serious or not.  mips ABI change is a bit large, so it might cause
binary compatibility.

BTW, note that until glibc 2.3.5/2.3.6, we can compile them on glibc
with gcc-3.3.  However after glibc-2.3.9x (which I'll put into
experimental as soon as etch release), we need at least gcc 3.4.

The old exception handling SJLJ is used on arm, hppa and m68k.  IIRC,
we will change not only hppa but also m68k - i.e: m68k SJLJ -> Dwarf2.
According to pb, arm will stay to use SJLJ because it may change whole
ABI from the current one to new EABI.

I didn't investigate these problems so much, but if these issues need
special consideration, we should handle them separatelly.

-- gotom

Reply to: