This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
RE: Problems with recent GDB Cygwin builds
- From: "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>
- To: "'gdb'" <gdb at sourceware dot org>
- Date: Fri, 15 Apr 2011 15:28:35 +0200
- Subject: RE: Problems with recent GDB Cygwin builds
- References: <002601cbfb58$a52dff20$ef89fd60$@muller@ics-cnrs.unistra.fr>
I found out that the problem is related to the
fact that __STDC_ISO_10646__ is defined in:
$ grep -n ISO_10646 /usr/include/*/*
/usr/include/sys/features.h:185:#define __STDC_ISO_10646__ 200305L
because of this, GDB uses "UCS-4LE"
for the macro INTERMEDIATE_ENCODING for Cygwin (while "wchar_t" is used for
mingw32).
Forcing "wchar_t" fixes the problem described below.
The question is how to cope with this inside gdb sources.
Pierre
> -----Message d'origine-----
> De?: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] De la part
> de Pierre Muller
> Envoyé?: vendredi 15 avril 2011 12:34
> À?: 'gdb'
> Objet?: Problems with recent GDB Cygwin builds
>
> Using recent Cygwin builds, either trunk or 7.3 branch,
> I do get problems with iconv DLL.
>
> Typically, all string display fail.
>
> Easiest way to check is
> compile new TRUNK gdb
> go to build/gdb dir
> prompt# ./gdb ./gdb
>
> ...
> (top-gdb) print version
> $1 =
> (top-gdb)
>
> while
>
> prompt# ./gdb ./gdb
>
> ...
> (top-gdb) p version
> $1 = "7.2.90.20110414-cvs"
> (top-gdb)
>
> Trying to debug this, I clearly see that iconv callsdo fail
> iconv is a macro and really calls libiconv which is in cygiconv-2.dll
> as $eax=-1 on return.
>
> $ cygcheck.exe -s |grep iconv
> 980k 2011/01/28 E:\cygwin-1.7\bin\cygiconv-2.dll
> libiconv 1.13.1-2 OK
> libiconv2 1.13.1-2 OK
>
>
> The problem seems to be that wchar_iterate returns 2 while
> the expected result is 0 or 1.
>
> Mingw32 or mingw64 seem to work just fine.
>
> Does anyone else have the same kind of troubles?
>
> Pierre Muller.
>
> PS: I tried to compile libiconv-1.13.1-2 but it seems to require me to
> install
> lots of stuff I don't have ...
>