On 07/19/2011 03:47 PM, Sam Steingold wrote:
Hi,
./config.log:REPLACE_STRERROR_R='1'
why do I see this on
Linux 2.6.18-238.9.1.el5
gcc (GCC) 4.1.2 20080704
glibc-2.5-58.el5_6.3
Because glibc 2.5, and even glibc 2.13, has buggy strerror_r.
Read gnulib/doc/posix-functions/strerror_r.texi for details.
Even with glibc 2.14, where __xpg_strerror_r is finally bug-free, we
_still_ have to replace strerror_r to get the POSIX signature by default.
Someday, I'd like to add a strerror_r-gnu module, as well as
guaranteeing that the strerror_r-posix module provides __xpg_strerror_r
on all platforms while not touching strerror_r if strerror_r-gnu is also
in use, so that files that must care about the difference (such as
gnulib internals) can blindly use __xpg_strerror_r, without interfering
with the user's choice of which signature they'd like to use. At which
point, clients of strerror_r-gnu would no longer be replacing strerror_r
on glibc 2.14 and newer.
--
Eric Blake ebl...@redhat.com+1-801-349-2682
Libvirt virtualization library http://libvirt.org