Change target-wide-charset to UTF-16 on ppc-aix.

On ppc-aix, type wchar_t is 2 bytes long, so override the default
target-wide-charset (UTF-32) with UTF-16. This allows us to print
wide characters correctly.

gdb/ChangeLog:

        * rs6000-aix-tdep.c (rs6000_aix_auto_wide_charset): New function.
        (rs6000_aix_init_osabi): Set auto_wide_charset gdbarch method.
This commit is contained in:
Joel Brobecker 2012-10-23 15:37:21 +00:00
parent 83ab93c6ea
commit 38a69d0a4d
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2012-10-23 Joel Brobecker <brobecker@adacore.com>
* rs6000-aix-tdep.c (rs6000_aix_auto_wide_charset): New function.
(rs6000_aix_init_osabi): Set auto_wide_charset gdbarch method.
2012-10-23 Joel Brobecker <brobecker@adacore.com>
* amd64-windows-tdep.c (amd64_windows_auto_wide_charset): New

View File

@ -719,6 +719,14 @@ rs6000_software_single_step (struct frame_info *frame)
return 1;
}
/* Implement the "auto_wide_charset" gdbarch method for this platform. */
static const char *
rs6000_aix_auto_wide_charset (void)
{
return "UTF-16";
}
/* Implement an osabi sniffer for RS6000/AIX.
This function assumes that ABFD's flavour is XCOFF. In other words,
@ -775,6 +783,8 @@ rs6000_aix_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_frame_red_zone_size (gdbarch, 224);
else
set_gdbarch_frame_red_zone_size (gdbarch, 0);
set_gdbarch_auto_wide_charset (gdbarch, rs6000_aix_auto_wide_charset);
}
/* Provide a prototype to silence -Wmissing-prototypes. */