Bug 143603 - libresolv.so is missing res_mkquery symbol on x86_64
Summary: libresolv.so is missing res_mkquery symbol on x86_64
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: glibc
Version: 3.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-12-22 19:38 UTC by Dag Wieers
Modified: 2007-11-30 22:07 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-12-22 21:27:34 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Dag Wieers 2004-12-22 19:38:31 UTC
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 21:27:34 UTC
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 21:36:52 UTC
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 22:50:55 UTC
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.