Re: [RFA] defs.h: Define GDB_DEFAULT_TARGET_[WIDE_]CHARSET for Cygwin and MingW builds

Daniel Jacobowitz
2010-03-03T17:33:36Z

On Wed, Mar 03, 2010 at 06:22:17PM +0100, Corinna Vinschen wrote:
> As one of the Cygwin maintainers I veto the notion to handle Cygwin
> as a Windows target in the first place.
>
> It's not valid to assume that Cygwin GDB is used to debug native apps
> and Cygwin apps are just an afterthought. And for Cygwin binaries the
> Windows default codepage has no meaning. The default codeset in Cygwin
> is UTF-8 and otherwise the same locale environment variables are used as
> other POSIX systems.
>
> Only the MingW GDB should default to the ANSI codepage. Cygwin should
> default to UTF-8.

I don't understand why there's so much conflict about this! I'm not
trying to treat Cygwin as an afterthought. And for an implementation,
it is impossible to completely ignore that Cygwin binaries run on a
Windows system.

The point is to detect and handle Cygwin binaries correctly. Then we
can give them a Cygwin code page, no matter whether GDB was built for
mingw or cygwin. Both debuggers will handle both cases automatically,
robustly, and correctly. We can not decide this at configure time;
that defeats the point of multi-arch, a long term goal of GDB that
we've finally achieved.

I don't see why we can't do it right. I can dig up some code Pedro
wrote that decodes the import table to check linked DLLs. I was
hoping that there was an easier way using BFD, but BFD does not want
to play nice.

--
Daniel Jacobowitz
CodeSourcery