]> Git Repo - binutils.git/blobdiff - gdb/mips-tdep.c
*** empty log message ***
[binutils.git] / gdb / mips-tdep.c
index 4484281df89c767c9b502c01e7bccb9ba66fca7f..803883721bf682af04dac9de61539073b643f577 100644 (file)
@@ -4148,6 +4148,9 @@ mips_single_step_through_delay (struct gdbarch *gdbarch,
   if (mips_pc_is_mips16 (pc))
     return 0;
 
+  if (!breakpoint_here_p (pc + 4))
+    return 0;
+
   if (!safe_frame_unwind_memory (frame, pc, buf, sizeof buf))
     /* If error reading memory, guess that it is not a delayed
        branch.  */
@@ -5059,11 +5062,16 @@ mips_abi_update (char *ignore_args, int from_tty, struct cmd_list_element *c)
 /* Print out which MIPS ABI is in use.  */
 
 static void
-show_mips_abi (char *ignore_args, int from_tty)
+show_mips_abi (struct ui_file *file,
+              int from_tty,
+              struct cmd_list_element *ignored_cmd,
+              const char *ignored_value)
 {
   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");
+    fprintf_filtered
+      (file, 
+       "The MIPS ABI is unknown because the current architecture "
+       "is not MIPS.\n");
   else
     {
       enum mips_abi global_abi = global_mips_abi ();
@@ -5071,18 +5079,21 @@ show_mips_abi (char *ignore_args, int from_tty)
       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",
+       fprintf_filtered
+         (file, 
+          "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",
+       fprintf_filtered
+         (file,
+          "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",
+         fprintf_filtered
+           (file,
+            "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]);
        }
     }
@@ -5191,8 +5202,9 @@ This option can be set to one of:\n\
   auto  - Allow GDB to use the target's default setting or autodetect the\n\
           saved GP register size from information contained in the\n\
           executable (default)."),
+                       NULL,
                        NULL, /* FIXME: i18n: Size of general purpose registers saved on the stack is %s.  */
-                       NULL, NULL, &setmipscmdlist, &showmipscmdlist);
+                       &setmipscmdlist, &showmipscmdlist);
 
   /* Allow the user to override the argument stack size. */
   add_setshow_enum_cmd ("stack-arg-size", class_obscure,
@@ -5204,20 +5216,26 @@ This option can be set to one of:\n\
   64    - Force GDB to allocate 64-bit chunks per argument\n\
   auto  - Allow GDB to determine the correct setting from the current\n\
           target and executable (default)"),
+                       NULL,
                        NULL, /* FIXME: i18n: The amount of stack space reserved for each argument is %s.  */
-                       NULL, NULL, &setmipscmdlist, &showmipscmdlist);
+                       &setmipscmdlist, &showmipscmdlist);
 
   /* Allow the user to override the ABI. */
-  c = add_set_enum_cmd
-    ("abi", class_obscure, mips_abi_strings, &mips_abi_string,
-     "Set the ABI used by this program.\n"
-     "This option can be set to one of:\n"
-     "  auto  - the default ABI associated with the current binary\n"
-     "  o32\n"
-     "  o64\n" "  n32\n" "  n64\n" "  eabi32\n" "  eabi64", &setmipscmdlist);
-  set_cmd_sfunc (c, mips_abi_update);
-  add_cmd ("abi", class_obscure, show_mips_abi,
-          _("Show ABI in use by MIPS target"), &showmipscmdlist);
+  add_setshow_enum_cmd ("abi", class_obscure, mips_abi_strings,
+                       &mips_abi_string, _("\
+Set the MIPS ABI used by this program."), _("\
+Show the MIPS ABI used by this program."), _("\
+This option can be set to one of:\n\
+  auto  - the default ABI associated with the current binary\n\
+  o32\n\
+  o64\n\
+  n32\n\
+  n64\n\
+  eabi32\n\
+  eabi64"),
+                       mips_abi_update,
+                       show_mips_abi,
+                       &setmipscmdlist, &showmipscmdlist);
 
   /* Let the user turn off floating point and set the fence post for
      heuristic_proc_start.  */
@@ -5256,8 +5274,8 @@ Show the distance searched for the start of a function."), _("\
 If you are debugging a stripped executable, GDB needs to search through the\n\
 program for the start of a function.  This command sets the distance of the\n\
 search.  The only need to set it is when debugging a stripped executable."),
+                           reinit_frame_cache_sfunc,
                            NULL, /* FIXME: i18n: The distance searched for the start of a function is %s.  */
-                           reinit_frame_cache_sfunc, NULL,
                            &setlist, &showlist);
 
   /* Allow the user to control whether the upper bits of 64-bit
@@ -5268,7 +5286,6 @@ Set zeroing of upper 32 bits of 64-bit addresses."), _("\
 Show zeroing of upper 32 bits of 64-bit addresses."), _("\
 Use \"on\" to enable the masking, \"off\" to disable it and \"auto\" to \n\
 allow GDB to determine the correct value."),
-                               NULL, /* FIXME: i18n: Zerroing of upper 32 bits of 64-bit address is %s.  */
                                NULL, show_mask_address,
                                &setmipscmdlist, &showmipscmdlist);
 
@@ -5283,8 +5300,8 @@ Show compatibility with 64-bit MIPS target that transfers 32-bit quantities."),
 Use \"on\" to enable backward compatibility with older MIPS 64 GDB+target\n\
 that would transfer 32 bits for some registers (e.g. SR, FSR) and\n\
 64 bits for others.  Use \"off\" to disable compatibility mode"),
+                          set_mips64_transfers_32bit_regs,
                           NULL, /* FIXME: i18n: Compatibility with 64-bit MIPS target that transfers 32-bit quantities is %s.  */
-                          set_mips64_transfers_32bit_regs, NULL,
                           &setlist, &showlist);
 
   /* Debug this files internals. */
@@ -5293,7 +5310,7 @@ that would transfer 32 bits for some registers (e.g. SR, FSR) and\n\
 Set mips debugging."), _("\
 Show mips debugging."), _("\
 When non-zero, mips specific debugging is enabled."),
+                           NULL,
                            NULL, /* FIXME: i18n: Mips debugging is currently %s.  */
-                           NULL, NULL,
                            &setdebuglist, &showdebuglist);
 }
This page took 0.035521 seconds and 4 git commands to generate.