diff options
author | Kevin Buettner <kevinb@redhat.com> | 2003-02-27 01:14:53 +0000 |
---|---|---|
committer | Kevin Buettner <kevinb@redhat.com> | 2003-02-27 01:14:53 +0000 |
commit | ad18820186a8925ae3850e45cb83a60d67c469c7 (patch) | |
tree | 264a000c713326d43c5d387bf100724a127d3578 /gdb/mips-tdep.c | |
parent | 873c9e4a202a1b9cc695bc5177bba1f755363db5 (diff) | |
download | gdb-ad18820186a8925ae3850e45cb83a60d67c469c7.zip gdb-ad18820186a8925ae3850e45cb83a60d67c469c7.tar.gz gdb-ad18820186a8925ae3850e45cb83a60d67c469c7.tar.bz2 |
Make ``show mips abi'' actually show the abi in use.
Diffstat (limited to 'gdb/mips-tdep.c')
-rw-r--r-- | gdb/mips-tdep.c | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 35426b0..8d5f97b 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -6066,6 +6066,38 @@ mips_abi_update (char *ignore_args, int from_tty, gdbarch_update_p (info); } +/* Print out which MIPS ABI is in use. */ + +static void +show_mips_abi (char *ignore_args, int from_tty) +{ + if (gdbarch_bfd_arch_info (current_gdbarch)->arch != bfd_arch_mips) + printf_filtered ( + "The MIPS ABI is unknown because the current architecture is not MIPS.\n"); + else + { + enum mips_abi global_abi = global_mips_abi (); + enum mips_abi actual_abi = mips_abi (current_gdbarch); + const char *actual_abi_str = mips_abi_strings[actual_abi]; + + if (global_abi == MIPS_ABI_UNKNOWN) + printf_filtered ("The MIPS ABI is set automatically (currently \"%s\").\n", + actual_abi_str); + else if (global_abi == actual_abi) + printf_filtered ( + "The MIPS ABI is assumed to be \"%s\" (due to user setting).\n", + actual_abi_str); + else + { + /* Probably shouldn't happen... */ + printf_filtered ( + "The (auto detected) MIPS ABI \"%s\" is in use even though the user setting was \"%s\".\n", + actual_abi_str, + mips_abi_strings[global_abi]); + } + } +} + static void mips_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file) { @@ -6513,8 +6545,9 @@ This option can be set to one of:\n\ " eabi32\n" " eabi64", &setmipscmdlist); - add_show_from_set (c, &showmipscmdlist); set_cmd_sfunc (c, mips_abi_update); + add_cmd ("abi", class_obscure, show_mips_abi, + "Show ABI in use by MIPS target", &showmipscmdlist); /* Let the user turn off floating point and set the fence post for heuristic_proc_start. */ |