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

Reply via email to