check_for_old_step_resume_breakpoint (); step_resume_breakpoint = set_momentary_breakpoint (sr_sal, null_frame_id, bp_step_resume); if (breakpoints_inserted) insert_breakpoints ();
insert_step_resume_breakpoint_at_sal (sr_sal, null_frame_id);
step_into_function (struct execution_control_state *ecs){  struct symtab *s;  struct symtab_and_line sr_sal;  s = find_pc_symtab (stop_pc);  if (s && s->language != language_asm)    ecs->stop_func_start = SKIP_PROLOGUE (ecs->stop_func_start);  ecs->sal = find_pc_line (ecs->stop_func_start, 0);  /* Use the step_resume_break to step until the end of the prologue,     even if that involves jumps (as it seems to on the vax under     4.2).  */  /* If the prologue ends in the middle of a source line, continue to     the end of that source line (if it is still within the function).     Otherwise, just go to end of prologue.  */  if (ecs->sal.end      && ecs->sal.pc != ecs->stop_func_start      && ecs->sal.end < ecs->stop_func_end)    ecs->stop_func_start = ecs->sal.end;  /* Architectures which require breakpoint adjustment might not be able     to place a breakpoint at the computed address.  If so, the test     ``ecs->stop_func_start == stop_pc'' will never succeed.  Adjust     ecs->stop_func_start to an address at which a breakpoint may be     legitimately placed.          Note:  kevinb/2004-01-19:  On FR-V, if this adjustment is not     made, GDB will enter an infinite loop when stepping through     optimized code consisting of VLIW instructions which contain     subinstructions corresponding to different source lines.  On     FR-V, it's not permitted to place a breakpoint on any but the     first subinstruction of a VLIW instruction.  When a breakpoint is     set, GDB will adjust the breakpoint address to the beginning of     the VLIW instruction.  Thus, we need to make the corresponding     adjustment here when computing the stop address.  */       if (gdbarch_adjust_breakpoint_address_p (current_gdbarch))    {      ecs->stop_func_start	= gdbarch_adjust_breakpoint_address (current_gdbarch,	                                     ecs->stop_func_start);    }  if (ecs->stop_func_start == stop_pc)    {      /* We are already there: stop now.  */      stop_step = 1;      print_stop_reason (END_STEPPING_RANGE, 0);      stop_stepping (ecs);      return;    }  else    {      /* Put the step-breakpoint there and go until there.  */      init_sal (&sr_sal);	/* initialize to zeroes */      sr_sal.pc = ecs->stop_func_start;      sr_sal.section = find_pc_overlay (ecs->stop_func_start);      /* Do not specify what the fp should be when we stop since on         some machines the prologue is where the new fp value is         established.  */      check_for_old_step_resume_breakpoint ();      step_resume_breakpoint =	set_momentary_breakpoint (sr_sal, null_frame_id, bp_step_resume);      if (breakpoints_inserted)	insert_breakpoints ();      /* And make sure stepping stops right away then.  */      step_range_end = step_range_start;    }  keep_going (ecs);}