[patch, testsuite] check for UTF-32 target wide charset support in gdb.base/wchar.exp
Doug Evans
xdje42@gmail.com
Fri Sep 18 04:38:00 GMT 2015
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Doug Evans <xdje42@gmail.com>
>> Cc: gdb-patches <gdb-patches@sourceware.org>
>> Date: Wed, 16 Sep 2015 21:30:46 -0700
>>
>> #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?
>
> You mean, have functions like strlen and strcat handle 32-bit wchar_t
> strings? Not reasonable.
Yikes. No, I didn't mean that. :-)
I meant have the PHONY_ICONV case use a better value for
GDB_DEFAULT_TARGET_WIDE_CHARSET.
>> 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.
>
> Supported by whom?
By PHONY_ICONV.
[which is more of a minimal iconv than a phony iconv, but whatever]
More information about the Gdb-patches
mailing list