(Initially discussed at <http://sourceware.org/ml/libc-alpha/2014-01/msg00351.html>.) Consider an environment without /etc/resolv.conf. When doing a host name lookup, ‘dns’ returns NSS_STATUS_UNAVAIL, so we go on with ‘files’ and /etc/hosts is honored as expected Conversely, when doing a reverse lookup when /etc/resolv.conf is missing, the 'dns' name service returns NSS_STATUS_NOTFOUND, leading 'gethostbyaddr' to return immediately without invoking the 'files' NSS (thus ignoring /etc/hosts.) It seems that 'dns' should instead always return UNAVAIL when resolv.conf is missing, but that is an ABI break.