Bug 143603 - libresolv.so is missing res_mkquery symbol on x86_64
libresolv.so is missing res_mkquery symbol on x86_64
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: glibc (Show other bugs)
3.0
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-12-22 14:38 EST by Dag Wieers
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-12-22 16:27:34 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Dag Wieers 2004-12-22 14:38:31 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3)
Gecko/20041020 Galeon/1.3.18

Description of problem:
The libresolv.so library in the glibc package on x86_64 is missing the
res_mkquery symbol which breaks configure scripts on x86_64. This is
true for FC3/x86_64, FC2/x86_64 and EL3/x86_64.

[root@lisse rpms]# objdump -x /dar/chroot/fc3a/usr/lib64/libresolv.so
 | grep _mkq
0000000000000000 l    df *ABS*  0000000000000000             
res_mkquery.c
0000000000007a50 g     F .text  00000000000000c4             
__res_mkquery

[root@lisse rpms]# objdump -x /dar/chroot/fc3i/usr/lib/libresolv.so  |
grep _mkq
00000000 l    df *ABS*  00000000              res_mkquery.c
00006a20  w    F .text  00000099              res_mkquery
00006a20 g     F .text  00000099              __res_mkquery

[root@lisse rpms]# objdump -x /dar/chroot/el3a/usr/lib64/libresolv.so
 | grep _mkq
0000000000000000 l    df *ABS*  0000000000000000             
res_mkquery.c
0000000000007830 g     F .text  00000000000000c7             
__res_mkquery

[root@lisse rpms]# objdump -x /dar/chroot/el3i/usr/lib/libresolv.so  |
grep _mkq
00000000 l    df *ABS*  00000000              res_mkquery.c
000065f0  w    F .text  0000009f              res_mkquery
000065f0 g     F .text  0000009f              __res_mkquery


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

How reproducible:
Always

Steps to Reproduce:
1...
2.
3.
    

Additional info:
Comment 1 Jakub Jelinek 2004-12-22 16:27:34 EST
That's on purpose.  res_mkquery is in i386 etc. libresolv.so only for compatibility reasons.  For newer architectures (e.g. x86_64, s390x or powerpc64)
such compatibility is not needed, therefore just __res_mkquery is provided.
Comment 2 Dag Wieers 2004-12-22 16:36:52 EST
Ok. What is the proper fix for programs (or configure scripts) that require
res_mkquery ? Replacing res_mkquery by __res_mkquery makes it work on 64bit,
although I don't think I understand why that is required. Do you have a link to
some more information about this (Google wasn't much of a help).

Thanks in advance.
Comment 3 Jakub Jelinek 2004-12-22 17:50:55 EST
If you #include <resolv.h>, res_mkquery will be __res_mkquery (it is a #define).
Configure tests that test for res_mkquery etc. without #include <resolv.h> are
just broken.

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