A while back I submitted a patch to skip gdb.base/wchar.exp tests when GDB is built with PHONY_ICONV enabled: https://sourceware.org/ml/gdb-patches/2015-09/msg00388.html The consensus from the discussion seemed to be that it would be better to fix the PHONY_ICONV support instead, so that's what this patch does. I found a whole bunch of bugs in the existing code.... (1) phony_iconv_open had code to recognize "UTF-32BE" as a wide character set, but GDB_DEFAULT_TARGET_WIDE_CHARSET was set to "ISO-8859-1" instead, so the decoding wasn't getting triggered. (2) phony_iconv wasn't advancing *inbuf properly after processing each 4-byte group, plus it wasn't checking for output overflow. I don't see how the old code could ever have worked even if you explicitly chose UTF-32BE. (3) I was doing experiments on a little-endian target (nios2-linux-gnu), so I had to extend the conversion code to handle both endiannesses. (4) On Windows host, the system default (narrow) charset is CP1252 rather than ISO-8859-1; this affects the behavior of functions like isprint, and in particular what is printed for the character constant cent ('\242') used in the testcase. The testcase already checks for CP1252 but GDB wasn't reporting the default correctly. So, my patch fixes all these things and the gdb.base/wchar.exp tests now all PASS in this configuration. OK to commit? -Sandra