glibc 2.3.6 status

Petr Salinger Petr.Salinger at t-systems.cz
Thu Dec 22 14:34:22 UTC 2005


> > Critical problems:
> > 
> >   - DNS resolving doesn't work (at least in ipv4).  This appears to be a
> >   regression on a bug Aurelien already fixed some time ago.

Not all patches from trunk/glibc-2.3/patches/ 
have been previously merged in trunk/web/glibc-2.3.5.diff.
I added only 004_no_nfs_h and I integrated also 
015_export__end_symbol_for_brk and major part of 020_linuxthreads.diff.
The rest needs review whether apply or not.

So, solution is probably in some diff in trunk/glibc-2.3/patches/.

> >   - in postinst:
> >   /usr/bin/perl: relocation error: /usr/bin/perl: symbol pthread_atfork,
> >   version GLIBC_2.3 not defined in file libpthread.so.0 with link time reference

pthread_atfork() is now hidden, but it was visible in our glibc 2.3.

It looks like upstream mistake in versioning, 
which affect only platforms whose base version is GLIBC_2_3.

I would test the following change:

--- linuxthreads/old_pthread_atfork.c~  2005-12-22 13:26:01.000000000 +0000
+++ linuxthreads/old_pthread_atfork.c   2005-12-22 13:26:01.000000000 +0000
@@ -19,7 +19,7 @@
 
 #include <shlib-compat.h>
 
-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3)
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3_2)
 # define __pthread_atfork __dyn_pthread_atfork
 # include "pthread_atfork.c"
 # undef __pthread_atfork

> > Other than this, it seems fine.  I was able to downgrade back to glibc 2.3
> > without problem.
> 
> I forgot another minor problem:  some files that belong to
> kfreebsd-kernel-headers are duplicated in libc0.1-dev.  I think they're actualy
> the same files that belong to kernel, but I haven't verified.

I expect big cleanup between kfreebsd-kernel-headers and libc0.1-dev ;-)
Will be kfreebsd-kernel-headers FreeBSD 6.0 based ?

> Btw, I forgot to ask: Is it ABI compatible?

Well, it should be backward compatible.

Potential sources of incompatibilities:

 * standard glibc 
	- versioning should avoid ABI problems

 * newer kernel interface/syscall table
	- sigaction has minor change in semantics 
		(which signals are blocked by default during execution of signal handler)
	- newer struct statfs
		getfsstat/statfs/fstatfs,fhstatfs have to be versioned
		now glibc-2.3-head just uses the same syscalls as in 2.3.0 (see rev=917)

 * changes in kfreebsd-kernel-headers w.r.t. kfreebsd5-headers
	- ???
 
 * thread local storage (TLS)
	- not yet enabled, we will see ...

 * mistakes during porting process ;-)
	- see rev=904, rev=916
	- ...
 * ...


Petr









More information about the Glibc-bsd-devel mailing list