Re: forestalling GNU incompatibility - proposal for binary relative dynamic linking

From: Adrian von Bidder
Date: Tue Jan 25 2005 - 04:27:13 EST


On Monday 24 January 2005 23.24, Edward Peschko wrote:
[ Linux interoperability in danger - libc != libc ]

Hi,

[this may be just ignorance - I only use one distro (Debian), and don't try
to mix binaries]

Before discussing solutions: Is there a survey on how bad the problem really
is? IIRC some minor API changes were done between some gcc versions, but
mostly on the C++ side. I know Debian, too, ships with a quite heavily
patched toolchain, but the Debian libc/binutils/gcc packagers work together
with the upstream developers, and many Debian specific patches end up in
the official releases sooner or later. (And most of Debian's patches
concern architectures like ARM, m68k, HPPA etc., which the big
distributions don't support anyway.)

So, I guess, the survey would need to compare only C programs (not C++),
since you explicitly are talking about libc - C++ has always been more
difficult. And, it would be important to differentiate between
incompatibilites caused by gcc versions from incompatibilities really
caused by vendor specific modifications.

cheers
-- vbi

P.S.: looking at Debian's libc6 glibc package (2.3.2.ds1-20):
- 106 patches total
Going by the name of the patch files only:
- 8 hurd specific
- 4 arm specific
- 9 hppa specific
- 4 m68k specific
- 3 alpha specific
- 1 amd64 specific
- 1 x86 specific
- 4 sparc specific
- 5 mips specific
- 3 ppc specific
- 1 ia64 specific
- 3 s390 specific
- 4 correcting paths/build system only (wouldn't affect the libc API as
such)
- 15 locale specific (dito)

So, over half of the patches will likely not affect 95% of Linux users. Of
the rest, a good number clearly affect multithreaded programs only (which,
admittedly, are much more widespread now than a few years back.) I didn't
look at any patches at all, so I can't judge how much the patches do really
change the libc. Also, I can't say how intrusive the patches of other
distributions are.

--
We are not loved by our friends for what we are; rather, we are loved in
spite of what we are.
-- Victor Hugo

Attachment: pgp00000.pgp
Description: PGP signature