X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fm68k-tdep.c;h=365b7c8b623d1f92fc407f629b567f88af8a21bc;hb=202e762b322444344827acbf98162fcb2910e0dd;hp=31c27714cbf9894406539b321faf0f108d73c80e;hpb=10eaee5f56611ce5f92ccd305849c0cc6addd130;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index 31c27714cb..365b7c8b62 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for the Motorola 68000 series. - Copyright (C) 1990-2018 Free Software Foundation, Inc. + Copyright (C) 1990-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -257,7 +257,7 @@ m68k_value_to_register (struct frame_info *frame, int regnum, The 68020/030/040/060 do support an FPU, either as a coprocessor (68881/2) or built-in (68040/68060). That's why System V release 4 - (SVR4) instroduces a new calling convention specified by the SVR4 + (SVR4) introduces a new calling convention specified by the SVR4 psABI. Integer values are returned in %d0/%d1, pointer return values in %a0 and floating values in %fp0. When calling functions returning a structure the caller should pass a pointer to a buffer @@ -329,11 +329,10 @@ m68k_store_return_value (struct type *type, struct regcache *regcache, int len = TYPE_LENGTH (type); if (len <= 4) - regcache_raw_write_part (regcache, M68K_D0_REGNUM, 4 - len, len, valbuf); + regcache->raw_write_part (M68K_D0_REGNUM, 4 - len, len, valbuf); else if (len <= 8) { - regcache_raw_write_part (regcache, M68K_D0_REGNUM, 8 - len, - len - 4, valbuf); + regcache->raw_write_part (M68K_D0_REGNUM, 8 - len, len - 4, valbuf); regcache->raw_write (M68K_D1_REGNUM, valbuf + (len - 4)); } else @@ -493,7 +492,8 @@ m68k_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) static CORE_ADDR m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, - struct value **args, CORE_ADDR sp, int struct_return, + struct value **args, CORE_ADDR sp, + function_call_return_method return_method, CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -523,10 +523,10 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function, } /* Store struct value address. */ - if (struct_return) + if (return_method == return_method_struct) { store_unsigned_integer (buf, 4, byte_order, struct_addr); - regcache_cooked_write (regcache, tdep->struct_value_regnum, buf); + regcache->cooked_write (tdep->struct_value_regnum, buf); } /* Store return address. */ @@ -536,10 +536,10 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function, /* Finally, update the stack pointer... */ store_unsigned_integer (buf, 4, byte_order, sp); - regcache_cooked_write (regcache, M68K_SP_REGNUM, buf); + regcache->cooked_write (M68K_SP_REGNUM, buf); /* ...and fake a frame pointer. */ - regcache_cooked_write (regcache, M68K_FP_REGNUM, buf); + regcache->cooked_write (M68K_FP_REGNUM, buf); /* DWARF2/GCC uses the stack address *before* the function call as a frame's CFA. */