On 06/03/2011 06:28 PM, Bruno Haible wrote: > Hi Eric, > >> Since the errno module is responsible for introducing replacement >> errno values, it should also be responsible for translating those >> new values into strings. And by moving the replacements into a >> file managed by the errno, we can then break the dependency between >> strerror and strerror_r, so that strerror no longer drags in >> multi-threading modules required by strerror_r. > > Creating a separate strerror-override.[hc] is reasonable. > > However, I'm not in favour of attaching object files to modules that > are meant to provide a header file. For two reasons: > - Not everyone who needs 'errno' also needs strerror() or strerror_r(). > There are many uses, from iconv() to <pthread.h>, of errno values > without the need of a conversion to string. > - This change causes trouble for the 'relocatable-prog-wrapper' > module. This module is meant to have all its source code compiled > on the fly and not provide any object file into libgnu.a (i.e. > no AC_LIBOBJ invocations). > > Please, can we revisit this?
You bet. Looks like we need to go back to my first idea of creating a separate strerror-override module (needed because strerror and strerror_r-posix are now independent, but both need the overrides, so the overrides have to be AC_LIBOBJ at the first client). -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature