RFC: ABI break

Aurelien Jarno aurelien at aurel32.net
Thu Dec 29 20:09:59 UTC 2005


On Thu, Dec 29, 2005 at 06:54:21PM +0100, Petr Salinger wrote:
> Hi!
Hi!

> > I don't say we should not change the soname, but we should avoid that if
> > possible. If it is not possible, we should do it, but I expect a
> > duration of one or two months.
> 
> Just now, there is some ABI skew, exposed in libqt3-mt.
> But I don't know reason for this ABI change.
> There might be more similar problems.
> 
> We should collect pros and cons for all approaches, 
> test new glibc and decide later, based on results.

That sounds like a good decision, ie not changing the ABI because "we
are not sure", but because there is strong reason.

> > > - kfreebsd-kernel-headers based on FreeBSD 6.0
> > 
> > What is the benefit of doing that? You show us that there is very few
> > differences in the syscalls, but there is probably a lot more
> > differences in the .h files, that are used by userspace programs, so I
> > expect some breakage there.
> 
> Since there are no redefinition of syscalls, structures passed between 
> kernel space and user space should be compatible.
> 
> Expected differences between headers from 5.4 and 6.0:
> 
> - more defined errors in errno.h
> - more cmd for ioctl
> - unused field in a structure got a meanning
> - extra structures for audit, syscall numbers for audit
> - ...
> 
> Expected etch release is after 12 months,
> these days might be kernel of FreeBSD 6.x the preferred one.

Maybe yes, but currently it is not yet usable, so doing changes that may
break support for FreeBSD 5.4 give me some fear. If we could have a
FreeBSD 6.x that proves to work well, I am not against making such
changes. That's why I prefer such changes to be done later.

> > Before we could declare the 5.4 kernel
> > obsolete, we should avoid such things.
> 
> Even if some structure changes completely,
> we can emulate changes inside libc. Just now we 
> convert from newer kernel structure into older user structure.
> We can do it also in opposite way.

Well I am thinking of things that have nothing to do with glibc, ie the
various direct interfaces to the kernel. This includes for example, the 
soundcard, cam, apm or acpi, usb, drm, or pccard interfaces. If some 
changes have been done (I don't know, but that may be the case), that 
could lead to problems.

> It will be similar as with linux-kernel-headers.
> In sarge, they are based on 2.6.0 everywhere,
> supported kernels are 2.6.8 and 2.4.27 in general
> and on some archs also 2.2.x
> 
With the difference that kernel and userland are not so tight in
GNU/Linux than in FreeBSD. When you upgrade your FreeBSD installation to
a new version, you are suppose to do a make world.

Bye,
Aurelien

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32 at debian.org         | aurelien at aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net



More information about the Glibc-bsd-devel mailing list