[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: strerror_r replaced on linux?
From: |
Eric Blake |
Subject: |
Re: strerror_r replaced on linux? |
Date: |
Tue, 19 Jul 2011 15:53:33 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110621 Fedora/3.1.11-1.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.11 |
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 address@hidden +1-801-349-2682
Libvirt virtualization library http://libvirt.org