Bug#535106: libc6-i386: getaddrinfo() fails
Package: libc6-i386
Version: 2.7-18
Severity: normal
The function getaddrinfo() in the i386 compatibility library returns
-2 (i.e. EAI_NONAME) for any query, while getaddrinfo() in the amd64
library does find the host and returns 0.
Here's a trivial test program, called test.c, which prints the
getaddrinfo() return value for a query for www.google.nl :
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <stdio.h>
int main(void)
{
int e;
struct addrinfo *a;
e=getaddrinfo("www.google.nl","80",NULL,&a);
printf("%i\n",e);
return 0;
}
And this is the result, compiling first as native amd64 code, and
then as i386 code:
$ cc test.c -o test
$ ./test
0
$ cc test.c -o test -m32
$ ./test
-2
$ ldd ./test
linux-gate.so.1 => (0xf7f9e000)
libc.so.6 => /lib32/libc.so.6 (0xf7e35000)
/lib/ld-linux.so.2 (0xf7f9f000)
$
Obviously, I would expect both invocations of ./test to print 0.
-- System Information:
Debian Release: 5.0.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages libc6-i386 depends on:
ii libc6 2.7-18 GNU C Library: Shared libraries
libc6-i386 recommends no packages.
libc6-i386 suggests no packages.
-- no debconf information
Reply to: