aboutsummaryrefslogtreecommitdiff
path: root/gdb/rs6000-aix-tdep.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2012-10-23 15:37:21 +0000
committerJoel Brobecker <brobecker@gnat.com>2012-10-23 15:37:21 +0000
commit38a69d0a4d05b7fb52902a3c9bd2360d7191af3b (patch)
treef2d01f39d3744efba2f950d7aa25df8a2a179a90 /gdb/rs6000-aix-tdep.c
parent83ab93c6eaf21fb4ee7b50de90f2837c20a55bd5 (diff)
downloadgdb-38a69d0a4d05b7fb52902a3c9bd2360d7191af3b.zip
gdb-38a69d0a4d05b7fb52902a3c9bd2360d7191af3b.tar.gz
gdb-38a69d0a4d05b7fb52902a3c9bd2360d7191af3b.tar.bz2
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.
Diffstat (limited to 'gdb/rs6000-aix-tdep.c')
-rw-r--r--gdb/rs6000-aix-tdep.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c
index 06b43de..b4fc931 100644
--- a/gdb/rs6000-aix-tdep.c
+++ b/gdb/rs6000-aix-tdep.c
@@ -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. */