Bug 240641 - Functions/global text symbols are missing from libresolv.so ???
Functions/global text symbols are missing from libresolv.so ???
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: glibc (Show other bugs)
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Depends On:
  Show dependency treegraph
Reported: 2007-05-19 00:29 EDT by Paul Townsend
Modified: 2007-11-16 20:14 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-05-21 15:14:58 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Paul Townsend 2007-05-19 00:29:23 EDT
Description of problem:
Some of the functions/global text symbols found in "libresolv.a" are missing in
"libresolv.so" (in my case "ns_put16").

Version-Release number of selected component (if applicable):


> cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

> uname -srvmpio
Linux 2.6.9-55.ELsmp #1 SMP Fri Apr 20 16:36:54 EDT 2007 x86_64 x86_64 x86_64

How reproducible:

Steps to Reproduce:
1.Run the following script

trap 'rm $logs' 0 1 2 15
uname -srvmpio
for x in /usr/lib/libresolv.a /usr/lib/libresolv.so ; do
  logs="$logs $log"
    print " $x:"
    nm $opt $x | sed -ne 's,^.* T ,,p' | sort
  } >$log
sdiff -w79  $logs

Actual results:
The "ns_put16" and "ns_put32" functions are in "libresolv.a" but not in
"libresolv.so".  "libresolv.so" from at least some of the earlier OS releases is
missing the "ns_get32" function also.  The "ns_get16" function is the only one
common to all.

Expected results:
All four should be there.  Don't know about the other `missing' symbols.

Additional info:
FWIW - this is not specific to the Redhat Enterprise OS.  The same problem
exists on Debian and SuSe OSs also.  I don't have access to any others.  A
simple minded workaround is to use "-Wl,-Bstatic -lresolv -Wl,-Bdynamic" when
you link via the `gcc' compiler.
Comment 1 Jakub Jelinek 2007-05-21 15:14:58 EDT
That's normal, those are just libresolv's private functions, you shouldn't use
them at all.  glibc is using symbol versioning to export only symbols it wants
to export.

Note You need to log in before you can comment on or make changes to this bug.