[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gnu-libiconv] inconsistency in EILSEQ definition...
From: |
Eric Blake |
Subject: |
Re: [bug-gnu-libiconv] inconsistency in EILSEQ definition... |
Date: |
Wed, 02 Jan 2013 06:50:07 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
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