From: Doug Evans <xdje42@gmail.com>
To: Sandra Loosemore <sandra@codesourcery.com>
Cc: gdb-patches <gdb-patches@sourceware.org>
Subject: Re: [patch, testsuite] check for UTF-32 target wide charset support in gdb.base/wchar.exp
Date: Thu, 17 Sep 2015 04:31:00 -0000 [thread overview]
Message-ID: <m3k2rpsm4p.fsf@sspiff.org> (raw)
In-Reply-To: <55FA325D.1020207@codesourcery.com> (Sandra Loosemore's message of "Wed, 16 Sep 2015 21:24:13 -0600")
Sandra Loosemore <sandra@codesourcery.com> writes:
> This patch is related to the one I posted yesterday to make
> with_target_charset do something reasonable in the absence of ICONV
> support:
>
> https://sourceware.org/ml/gdb-patches/2015-09/msg00357.html
>
> If GDB is configured without ICONV support, the target wide charset
> defaults to "ISO-8859-1" (which isn't even a wide charset), and all
> the wide strings in this test print as gibberish. Otherwise, GDB
> seems to think the default is "auto; currently UTF-32", so let's make
> the dependency on UTF-32 explicit here and bail out if it's not
> available.
>
> OK to commit?
>
> -Sandra
>
>
> 2015-09-16 Sandra Loosemore <sandra@codesourcery.com>
>
> gdb/testsuite/
> * gdb.base/wchar.exp: Require UTF-32 target wide charset support,
> otherwise skip this test.
>
> diff --git a/gdb/testsuite/gdb.base/wchar.exp b/gdb/testsuite/gdb.base/wchar.exp
> index 1a5a2d4..171385b 100644
> --- a/gdb/testsuite/gdb.base/wchar.exp
> +++ b/gdb/testsuite/gdb.base/wchar.exp
> @@ -24,6 +24,19 @@ if ![runto "wchar.c:$bp_location" ] then {
> return -1
> }
>
> +# This test requires wide character support in GDB.
> +# Setting the charset may fail if GDB was configured without
> +# ICONV support.
> +gdb_test_multiple "set target-wide-charset UTF-32" "" {
> + -re "Undefined item.*$gdb_prompt " {
> + unsupported "Unknown charset UTF-32"
> + return -1
> + }
> + -re ".*$gdb_prompt " {
> + pass "set target-wide-charset UTF-32"
> + }
> +}
> +
> gdb_test "print narrow" "= 97 L'a'"
>
> gdb_test "print single" "= 48879 L'\\\\xbeef'"
Yeah, the default for the !iconv case doesn't seem right:
#ifdef PHONY_ICONV
/* Provide a phony iconv that does as little as possible. Also,
arrange for there to be a single available character set. */
#undef GDB_DEFAULT_HOST_CHARSET
#define GDB_DEFAULT_HOST_CHARSET "ISO-8859-1"
#define GDB_DEFAULT_TARGET_CHARSET "ISO-8859-1"
#define GDB_DEFAULT_TARGET_WIDE_CHARSET "ISO-8859-1" <<<<
How reasonable is it to enhance the PHONY_ICONV support so that
it handles this better?
I see it already tries to provide some minimal functionality:
static iconv_t
phony_iconv_open (const char *to, const char *from)
{
/* We allow conversions from UTF-32BE, wchar_t, and the host charset.
We allow conversions to wchar_t and the host charset. */
if (strcmp (from, "UTF-32BE") && strcmp (from, "wchar_t")
&& strcmp (from, GDB_DEFAULT_HOST_CHARSET))
return -1;
if (strcmp (to, "wchar_t") && strcmp (to, GDB_DEFAULT_HOST_CHARSET))
return -1;
/* Return 1 if we are converting from UTF-32BE, 0 otherwise. This is
used as a flag in calls to iconv. */
return !strcmp (from, "UTF-32BE");
}
I don't know, off hand, why big endian is supported and not little endian.
next prev parent reply other threads:[~2015-09-17 4:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-17 3:25 Sandra Loosemore
2015-09-17 4:31 ` Doug Evans [this message]
2015-09-17 5:10 ` Eli Zaretskii
2015-09-18 4:38 ` Doug Evans
2015-09-17 5:07 ` Eli Zaretskii
2015-09-17 5:17 ` Sandra Loosemore
2015-09-17 5:59 ` Eli Zaretskii
2015-09-18 4:48 ` Doug Evans
2015-09-29 13:50 ` Pedro Alves
2015-09-18 4:41 ` Doug Evans
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3k2rpsm4p.fsf@sspiff.org \
--to=xdje42@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=sandra@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox