X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fvax-tdep.c;h=6ad0dda021eacb69a09a85e0eab2eb97b58e5ba0;hb=9cca177baec32a1ed1422a87a1f57cda2d2eb21a;hp=e4a565df0507f555e3a4155bd73a23c034fde0e8;hpb=541aad8ac923fa2d4a9d35fdf82b487b9f6e0ea8;p=binutils-gdb.git diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c index e4a565df050..6ad0dda021e 100644 --- a/gdb/vax-tdep.c +++ b/gdb/vax-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for the VAX. - Copyright (C) 1986-2019 Free Software Foundation, Inc. + Copyright (C) 1986-2022 Free Software Foundation, Inc. This file is part of GDB. @@ -123,7 +123,7 @@ vax_store_arguments (struct regcache *regcache, int nargs, sp -= (len + 3) & ~3; count += (len + 3) / 4; - write_memory (sp, value_contents_all (args[i]), len); + write_memory (sp, value_contents_all (args[i]).data (), len); } /* Push argument count. */ @@ -206,13 +206,13 @@ vax_return_value (struct gdbarch *gdbarch, struct value *function, int len = TYPE_LENGTH (type); gdb_byte buf[8]; - if (TYPE_CODE (type) == TYPE_CODE_STRUCT - || TYPE_CODE (type) == TYPE_CODE_UNION - || TYPE_CODE (type) == TYPE_CODE_ARRAY) + if (type->code () == TYPE_CODE_STRUCT + || type->code () == TYPE_CODE_UNION + || type->code () == TYPE_CODE_ARRAY) { /* The default on VAX is to return structures in static memory. - Consequently a function must return the address where we can - find the return value. */ + Consequently a function must return the address where we can + find the return value. */ if (readbuf) { @@ -301,7 +301,7 @@ struct vax_frame_cache CORE_ADDR base; /* Table of saved registers. */ - struct trad_frame_saved_reg *saved_regs; + trad_frame_saved_reg *saved_regs; }; static struct vax_frame_cache * @@ -329,10 +329,10 @@ vax_frame_cache (struct frame_info *this_frame, void **this_cache) mask = get_frame_memory_unsigned (this_frame, cache->base + 4, 4) >> 16; /* These are always saved. */ - cache->saved_regs[VAX_PC_REGNUM].addr = cache->base + 16; - cache->saved_regs[VAX_FP_REGNUM].addr = cache->base + 12; - cache->saved_regs[VAX_AP_REGNUM].addr = cache->base + 8; - cache->saved_regs[VAX_PS_REGNUM].addr = cache->base + 4; + cache->saved_regs[VAX_PC_REGNUM].set_addr (cache->base + 16); + cache->saved_regs[VAX_FP_REGNUM].set_addr (cache->base + 12); + cache->saved_regs[VAX_AP_REGNUM].set_addr (cache->base + 8); + cache->saved_regs[VAX_PS_REGNUM].set_addr (cache->base + 4); /* Scan the register save mask and record the location of the saved registers. */ @@ -341,7 +341,7 @@ vax_frame_cache (struct frame_info *this_frame, void **this_cache) { if (mask & (1 << regnum)) { - cache->saved_regs[regnum].addr = addr; + cache->saved_regs[regnum].set_addr (addr); addr += 4; } } @@ -353,15 +353,15 @@ vax_frame_cache (struct frame_info *this_frame, void **this_cache) ULONGEST numarg; /* This is a procedure with Stack Argument List. Adjust the - stack address for the arguments that were pushed onto the - stack. The return instruction will automatically pop the - arguments from the stack. */ + stack address for the arguments that were pushed onto the + stack. The return instruction will automatically pop the + arguments from the stack. */ numarg = get_frame_memory_unsigned (this_frame, addr, 1); addr += 4 + numarg * 4; } /* Bits 1:0 of the stack pointer were saved in the control bits. */ - trad_frame_set_value (cache->saved_regs, VAX_SP_REGNUM, addr + (mask >> 14)); + cache->saved_regs[VAX_SP_REGNUM].set_value (addr + (mask >> 14)); return cache; } @@ -390,6 +390,7 @@ vax_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind vax_frame_unwind = { + "vax prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, vax_frame_this_id, @@ -507,8 +508,9 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) return (gdbarch); } +void _initialize_vax_tdep (); void -_initialize_vax_tdep (void) +_initialize_vax_tdep () { gdbarch_register (bfd_arch_vax, vax_gdbarch_init, NULL); }