On 01/02/2013 03:39 AM, Joel Brobecker wrote: > Hello, > > A few weeks ago, I reported a problem to gnulib where the errno > module would still be missing the EILSEQ macro on systems that > do not define it (in this particular case: LynxOS 178): > http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html > > The problem was solved by defining EILSEQ to an arbitrary value (2015). > See commit daf7f8c02242c535d596231e2f655109b97fa2bc. > > However, when I suggested the use of the errno module in GDB, > one of the maintainers remarked that libiconv uses a different > strategy, which is to define it to ENOENT.
That's probably a bug in libiconv - POSIX says that EILSEQ and ENOENT must be distinct. Still, it might be possible to figure out how to make gnulib guarantee a distinct value even when linked with libiconv. > http://www.sourceware.org/ml/gdb-patches/2012-12/msg00554.html > > This makes the two libraries incompatible at this level. > > In terms of the build error on Lynx178, what I ended up doing > was compile with -DEILSEQ=ENOENT. This smells wrong, but at least it worked for you, while we figure out how to fix things properly. > > In the future, I am wondering whether it might be helpful for > GNU projects to synchronize their approach to this issue. > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature