This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Missing symbols from libresolv.so


   From: Ulrich Drepper <drepper@redhat.com>
   Date: 09 Jul 2000 14:18:27 -0700

   Mark Kettenis <kettenis@wins.uva.nl> writes:

   > In the upgrade to BIND-8.2.2-P5, two symbols have been lost:
   > 
   > 1. The variable _res_resultcodes.
   > 
   > 2. The function __p_rr.
   > 
   > So in principle the glibc 2.2 libresolv.so isn't binary compatible
   > with the one from glibc 2.1.

   These were rever exported.  Therefore nothing has to be changed.

Sorry, we have them in resolv/Versions, and nm /lib/libresolv-2.1.3.so
gives:

00005784 T __p_rr
0000bb8c D _res_resultcodes

Or do you mean that since these symbols start with an underscore,
they're supposed to be only used internally?  That's fine for these
two, but for instance my /usr/bin/sendmail has:

         U __dn_skipname@@GLIBC_2.0

Which symbols got prefixed with a double underscore was arbitrarily
decided by whatever was in the BIND 4.9.x imported into glibc 2.0.  If
the resolver interface has really been restricted to (the symbols that
are marked #ifdef BIND_RES_POSIX3 in <resolv.h>):

  dn_expand(), res_init(), res_query(), res_search(),
  res_querydomain() and res_mkquery()

up to now, why were virtually all symbols added to the version map in
glibc 2.1?

Moreover, BIND 4.9.7 adds res_send() to that list, and documents
dn_comp (which still has a double underscore in reality) on its
resolver.3 man page.

Nowadays BIND 8 simply gives all symbols a double underscore, and
documents even more interfaces.

I'm certainly not against exporting a limited set of symbols, but we
should take some care in choosing the set.  At a minimum the symbols
on the BIND 4.9.7 man page should be exported.  If we can decide on
a restricted set of symbols that will officially be exported from
libresolv.so, I'm willing to document them.

Mark

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]