/* ARC target-dependent stuff.
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1997 Free Software Foundation, Inc.
This file is part of GDB.
int value;
} arc_cpu_type_table[] = {
{ "base", bfd_mach_arc_base },
- { "host", bfd_mach_arc_host },
- { "graphics", bfd_mach_arc_graphics },
- { "audio", bfd_mach_arc_audio },
{ NULL, 0 }
};
}
}
-/* Non-zero if we just simulated a single-step. This is needed because we
- cannot remove the breakpoints in the inferior process until after the
- `wait' in `wait_for_inferior'. */
-
-int one_stepped;
-
/* single_step() is called just before we want to resume the inferior, if we
want to single-step it but there is no hardware or kernel single-step
support. We find all the possible targets of the coming instruction and
set up a simulated single-step, we undo our damage. */
void
-single_step (ignore)
- enum target_signal ignore; /* sig, but we don't need it */
+arc_software_single_step (ignore, insert_breakpoints_p)
+ enum target_signal ignore; /* sig but we don't need it */
+ int insert_breakpoints_p;
{
static CORE_ADDR next_pc, target;
static int brktrg_p;
typedef char binsn_quantum[BREAKPOINT_MAX];
static binsn_quantum break_mem[2];
- if (!one_stepped)
+ if (insert_breakpoints_p)
{
insn_type type;
CORE_ADDR pc;
target_insert_breakpoint (target, break_mem[1]);
}
- /* We are ready to let it go. */
- one_stepped = 1;
}
else
{
/* Fix the pc. */
stop_pc -= DECR_PC_AFTER_BREAK;
write_pc (stop_pc);
-
- one_stepped = 0;
}
}
\f