November 20th, 2012, 01:19 AM
Getaddrinfo not working for 64 bit platform
I have two platform one is big endian (32 bit) and other is little endian (64 bit). both uses same glibc version 2.5.9. running on montavista linux 2.6.21 kernel.
For big endian 32 bit getaddrinfo works fine and gives proper result (a set of ip addr for the domain supplied).
But for my little endian platform it never works (but nslookup works fine and it uses busybox) . I tried putting some prints in linux stack but the application never sends proper info to socket layer. The first call to socket layer (socket.c sock_create fucntion) will be with family 16 (AF_NETLINK) and which is common for both little and big endian machines. After that there is no call to socket with values (2,2,17) (AF_INET, SOCK_DGRAM, UDP) but I can see these calls being made for big endian platform.
I feel there is some problem with glibc for 64 bit with little endian platform, but I am not 100% sure. Please help me if you have any info/idea/suggestion on this