Prefer object over notype symbols when disassembling
[deliverable/binutils-gdb.git] / gdb / infcmd.c
index eb18efab513bf9c917a9b25bd5d640f15e9b96f6..af66eaffd8a4d3813a9e8bb0a0586f9dea29e351 100644 (file)
@@ -52,6 +52,7 @@
 #include "thread-fsm.h"
 #include "top.h"
 #include "interps.h"
+#include "skip.h"
 #include "gdbsupport/gdb_optional.h"
 #include "source.h"
 #include "cli/cli-style.h"
@@ -1106,14 +1107,29 @@ prepare_one_step (struct step_command_fsm *sm)
              && inline_skipped_frames (tp))
            {
              ptid_t resume_ptid;
+             const char *fn = NULL;
+             symtab_and_line sal;
+             struct symbol *sym;
 
              /* Pretend that we've ran.  */
              resume_ptid = user_visible_resume_ptid (1);
              set_running (resume_ptid, 1);
 
              step_into_inline_frame (tp);
-             sm->count--;
-             return prepare_one_step (sm);
+
+             frame = get_current_frame ();
+             sal = find_frame_sal (frame);
+             sym = get_frame_function (frame);
+
+             if (sym != NULL)
+               fn = sym->print_name ();
+
+             if (sal.line == 0
+                 || !function_name_is_marked_for_skip (fn, sal))
+               {
+                 sm->count--;
+                 return prepare_one_step (sm);
+               }
            }
 
          pc = get_frame_pc (frame);
@@ -1210,7 +1226,7 @@ jump_command (const char *arg, int from_tty)
   if (fn != NULL && sfn != fn)
     {
       if (!query (_("Line %d is not in `%s'.  Jump anyway? "), sal.line,
-                 SYMBOL_PRINT_NAME (fn)))
+                 fn->print_name ()))
        {
          error (_("Not confirmed."));
          /* NOTREACHED */
@@ -1939,7 +1955,7 @@ finish_command (const char *arg, int from_tty)
          if (sm->function != NULL && TYPE_NO_RETURN (sm->function->type)
              && !query (_("warning: Function %s does not return normally.\n"
                           "Try to finish anyway? "),
-                        SYMBOL_PRINT_NAME (sm->function)))
+                        sm->function->print_name ()))
            error (_("Not confirmed."));
          printf_filtered (_("Run till exit from "));
        }
This page took 0.031915 seconds and 4 git commands to generate.