[lsb-discuss] glibc hackers?
Anthony W. Youngman
pixie at thewolery.demon.co.uk
Wed Mar 5 10:56:02 PST 2003
In message <1045857136.1168.55.camel at linux.local>, Mike Hearn
<mike at theoretic.com> writes
>A few weeks ago it was mentioned that some people on this list had
>experience of glibc hacking... I'm trying to find somebody who fancies
>adding support for -Bgroup and possibly -Bdirect semantics to ld.so
>Roland McGrath says they are interesting in having such features here:
>but warns the work is not to be underestimated. A quick recap of why
>this is a very useful/necessary thing to have:
>ELF by default uses global symbol scope. That means if you have multiple
>versions of the same symbol (ie multiple versions of the same library)
>linked in to a process, it will die.
When I worked on Prime, the linker there (it was static ...) resolved
dependencies on a "one pass" basis, so if a library routine called a
routine in the same library but that was earlier, you needed to link the
library twice, and all sorts of similar things. This felt a heck of a
lot better than the *nix way of things.
But I do appreciate that was static and this is dynamic ...
HOWEVER - (and I know this will cause some grief initially! :-) - how
about getting the linker to "hash" (can't remember the C++ word...) the
reference so that a reference stored at link time contains BOTH the
library soname and the symbol name.
Not quite sure how we proceed from there. But it guarantees that if we
have glibc2.1 and glibc2.2 and glibc2.3 all present on the user's
system, the runtime linker will at least *try* to use the same library
that the packager used at compile time.
Anthony W. Youngman <pixie at thewolery.demon.co.uk>
'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man
lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
Visit the MaVerick web-site - <http://www.maverick-dbms.org> Open Source Pick
More information about the lsb-discuss