static void set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c) { if (set_endian_string == endian_auto) { target_byte_order_auto = 1; } else if (set_endian_string == endian_little) { target_byte_order_auto = 0; if (GDB_MULTI_ARCH) { struct gdbarch_info info; gdbarch_info_init (&info); info.byte_order = BFD_ENDIAN_LITTLE; if (! gdbarch_update_p (info)) { printf_unfiltered ("Little endian target not supported by GDB\n"); } } else { target_byte_order = BFD_ENDIAN_LITTLE; } } else if (set_endian_string == endian_big) { target_byte_order_auto = 0; if (GDB_MULTI_ARCH) { struct gdbarch_info info; gdbarch_info_init (&info); info.byte_order = BFD_ENDIAN_BIG; if (! gdbarch_update_p (info)) { printf_unfiltered ("Big endian target not supported by GDB\n"); } } else { target_byte_order = BFD_ENDIAN_BIG; } } else internal_error (__FILE__, __LINE__, "set_endian: bad value"); show_endian (NULL, from_tty); }
static void set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c) { struct gdbarch_info info; gdbarch_info_init (&info); if (set_endian_string == endian_auto) { target_byte_order_user = BFD_ENDIAN_UNKNOWN; if (! gdbarch_update_p (info)) internal_error (__FILE__, __LINE__, _("set_endian: architecture update failed")); } else if (set_endian_string == endian_little) { info.byte_order = BFD_ENDIAN_LITTLE; if (! gdbarch_update_p (info)) printf_unfiltered (_("Little endian target not supported by GDB\n")); else target_byte_order_user = BFD_ENDIAN_LITTLE; } else if (set_endian_string == endian_big) { info.byte_order = BFD_ENDIAN_BIG; if (! gdbarch_update_p (info)) printf_unfiltered (_("Big endian target not supported by GDB\n")); else target_byte_order_user = BFD_ENDIAN_BIG; } else internal_error (__FILE__, __LINE__, _("set_endian: bad value")); show_endian (gdb_stdout, from_tty, NULL, NULL); }