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

Corinna Vinschen
2010-03-01T17:50:17Z

On Mar 1 10:27, Tom Tromey wrote:
> >>>>> "Daniel" == Daniel Jacobowitz <dan@codesourcery.com> writes:
>
> Daniel> On Mon, Mar 01, 2010 at 10:12:00AM -0700, Tom Tromey wrote:
> Daniel> If the default becomes dependent on the target, we need to distinguish
> Daniel> "user specified iso-8859-1" or "user didn't say anything, but now
> Daniel> we're debugging i686-mingw32, and that usually uses cp1252".
>
> >> I think the ideal would be to extract this information from the
> >> inferior.
>
> Daniel> I'm not sure I understand what you're suggesting... extract it how?
>
> I don't know :-)
>
> The only ways I can think of seem pretty fragile -- e.g., for POSIXy
> systems, extract information from the inferior environment and reproduce
> the C library logic.
>
> FWIW I think target-charset and target-wide-charset should be
> per-inferior settings, like the environment and arguments. I haven't
> looked into how to do that, though. I'm also not sure how that would
> interact with an "auto" setting.

I can't see any way to do that for an arbitrary target. Just Windows
alone would be enough to get headaches. The default multibyte charset
depends on the target application being a native Win32 application,
or a Cygwin application. In the first case, the charset is the default
ANSI codepage, in the latter case it's UTF-8, or the charset determined
by the LC_ALL/LC_CTYPE/LANG environment variables.

Corinna

--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat