diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 088fe51..be53db2 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -236,6 +236,8 @@ avr_register_type (struct gdbarch *gdbarch, int reg_nr) return builtin_type (gdbarch)->builtin_uint8; } +static const unsigned char avr_break_insn [] = { 0x98, 0x95 }; + /* Instruction address checks and convertions. */ static CORE_ADDR @@ -916,7 +918,6 @@ static const unsigned char * avr_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr) { - static const unsigned char avr_break_insn [] = { 0x98, 0x95 }; *lenptr = sizeof (avr_break_insn); return avr_break_insn; } @@ -1518,6 +1519,7 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_inner_than (gdbarch, core_addr_lessthan); set_gdbarch_breakpoint_from_pc (gdbarch, avr_breakpoint_from_pc); + set_gdbarch_decr_pc_after_break (gdbarch, sizeof (avr_break_insn)); frame_unwind_append_unwinder (gdbarch, &avr_frame_unwind); frame_base_set_default (gdbarch, &avr_frame_base);