Problems with recent GDB Cygwin builds

Pierre Muller pierre.muller@ics-cnrs.unistra.fr
Fri Apr 15 13:29:00 GMT 2011


  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 ...
> 




More information about the Gdb mailing list