X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Favr-tdep.c;h=357f5bb8f2dc4c5954a9a1a3a3160d881d7b1098;hb=ef186fe54aa6d281a3ff8a9528417e5cc614c797;hp=9e73c507b2eb534e53920e051d2341fa00a5e5b7;hpb=4aeddc50d7a06294cc124dfd8f43992ffa0b7382;p=binutils-gdb.git diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 9e73c507b2e..357f5bb8f2d 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -189,7 +189,7 @@ struct avr_unwind_cache trad_frame_saved_reg *saved_regs; }; -struct avr_gdbarch_tdep : gdbarch_tdep +struct avr_gdbarch_tdep : gdbarch_tdep_base { /* Number of bytes stored to the stack by call instructions. 2 bytes for avr1-5 and avrxmega1-5, 3 bytes for avr6 and avrxmega6-7. */ @@ -232,7 +232,7 @@ avr_register_type (struct gdbarch *gdbarch, int reg_nr) if (reg_nr == AVR_PC_REGNUM) return builtin_type (gdbarch)->builtin_uint32; - avr_gdbarch_tdep *tdep = (avr_gdbarch_tdep *) gdbarch_tdep (gdbarch); + avr_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); if (reg_nr == AVR_PSEUDO_PC_REGNUM) return tdep->pc_type; @@ -750,7 +750,7 @@ avr_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR pc_beg, CORE_ADDR pc_end, gdb_assert (vpc < AVR_MAX_PROLOGUE_SIZE); /* Handle static small stack allocation using rcall or push. */ - avr_gdbarch_tdep *tdep = (avr_gdbarch_tdep *) gdbarch_tdep (gdbarch); + avr_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); while (scan_stage == 1 && vpc < len) { insn = extract_unsigned_integer (&prologue[vpc], 2, byte_order); @@ -1053,7 +1053,7 @@ avr_frame_unwind_cache (struct frame_info *this_frame, /* The previous frame's SP needed to be computed. Save the computed value. */ - avr_gdbarch_tdep *tdep = (avr_gdbarch_tdep *) gdbarch_tdep (gdbarch); + avr_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); info->saved_regs[AVR_SP_REGNUM].set_value (info->prev_sp - 1 + tdep->call_length); @@ -1135,7 +1135,7 @@ avr_frame_prev_register (struct frame_info *this_frame, int i; gdb_byte buf[3]; struct gdbarch *gdbarch = get_frame_arch (this_frame); - avr_gdbarch_tdep *tdep = (avr_gdbarch_tdep *) gdbarch_tdep (gdbarch); + avr_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); read_memory (info->saved_regs[AVR_PC_REGNUM].addr (), buf, tdep->call_length); @@ -1199,18 +1199,19 @@ avr_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) /* When arguments must be pushed onto the stack, they go on in reverse order. The below implements a FILO (stack) to do this. */ -struct stack_item +struct avr_stack_item { int len; - struct stack_item *prev; + struct avr_stack_item *prev; gdb_byte *data; }; -static struct stack_item * -push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len) +static struct avr_stack_item * +push_stack_item (struct avr_stack_item *prev, const bfd_byte *contents, + int len) { - struct stack_item *si; - si = XNEW (struct stack_item); + struct avr_stack_item *si; + si = XNEW (struct avr_stack_item); si->data = (gdb_byte *) xmalloc (len); si->len = len; si->prev = prev; @@ -1218,11 +1219,10 @@ push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len) return si; } -static struct stack_item *pop_stack_item (struct stack_item *si); -static struct stack_item * -pop_stack_item (struct stack_item *si) +static struct avr_stack_item * +pop_stack_item (struct avr_stack_item *si) { - struct stack_item *dead = si; + struct avr_stack_item *dead = si; si = si->prev; xfree (dead->data); xfree (dead); @@ -1277,11 +1277,11 @@ avr_push_dummy_call (struct gdbarch *gdbarch, struct value *function, { int i; gdb_byte buf[3]; - avr_gdbarch_tdep *tdep = (avr_gdbarch_tdep *) gdbarch_tdep (gdbarch); + avr_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); int call_length = tdep->call_length; CORE_ADDR return_pc = avr_convert_iaddr_to_raw (bp_addr); int regnum = AVR_ARGN_REGNUM; - struct stack_item *si = NULL; + struct avr_stack_item *si = NULL; if (return_method == return_method_struct) { @@ -1461,7 +1461,7 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) best_arch = gdbarch_list_lookup_by_info (best_arch->next, &info)) { avr_gdbarch_tdep *tdep - = (avr_gdbarch_tdep *) gdbarch_tdep (best_arch->gdbarch); + = gdbarch_tdep (best_arch->gdbarch); if (tdep->call_length == call_length) return best_arch->gdbarch;