X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fnds32-tdep.c;h=801b2dadcae08b38f1e70c9d4f3dce98d8192a95;hb=1e31ba653644faf289e8210ef25c7ab9a65fa865;hp=991a870c74647f4f61b499bb1ebc9a332391ffc5;hpb=0b8835861cde41744a08f215b48fccd135815b63;p=external%2Fbinutils.git diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c index 991a870..801b2da 100644 --- a/gdb/nds32-tdep.c +++ b/gdb/nds32-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for the NDS32 architecture, for GDB. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2019 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GDB. @@ -502,7 +502,7 @@ nds32_pseudo_register_write (struct gdbarch *gdbarch, fdr_regnum = NDS32_FD0_REGNUM + (regnum >> 1); regcache->raw_read (fdr_regnum, reg_buf); memcpy (reg_buf + offset, buf, 4); - regcache_raw_write (regcache, fdr_regnum, reg_buf); + regcache->raw_write (fdr_regnum, reg_buf); return; } @@ -1490,7 +1490,8 @@ static CORE_ADDR nds32_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, CORE_ADDR struct_addr) + function_call_return_method return_method, + CORE_ADDR struct_addr) { const int REND = 6; /* End for register offset. */ int goff = 0; /* Current gpr offset for argument. */ @@ -1511,7 +1512,7 @@ nds32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, /* If STRUCT_RETURN is true, then the struct return address (in STRUCT_ADDR) will consume the first argument-passing register. Both adjust the register count and store that value. */ - if (struct_return) + if (return_method == return_method_struct) { regcache_cooked_write_unsigned (regcache, NDS32_R0_REGNUM, struct_addr); goff++; @@ -1587,13 +1588,11 @@ nds32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, switch (len) { case 4: - regcache_cooked_write (regcache, - tdep->fs0_regnum + foff, val); + regcache->cooked_write (tdep->fs0_regnum + foff, val); foff++; break; case 8: - regcache_cooked_write (regcache, - NDS32_FD0_REGNUM + (foff >> 1), val); + regcache->cooked_write (NDS32_FD0_REGNUM + (foff >> 1), val); foff += 2; break; default: @@ -1740,9 +1739,9 @@ nds32_extract_return_value (struct gdbarch *gdbarch, struct type *type, if (abi_use_fpr && calling_use_fpr) { if (len == 4) - regcache_cooked_read (regcache, tdep->fs0_regnum, valbuf); + regcache->cooked_read (tdep->fs0_regnum, valbuf); else if (len == 8) - regcache_cooked_read (regcache, NDS32_FD0_REGNUM, valbuf); + regcache->cooked_read (NDS32_FD0_REGNUM, valbuf); else internal_error (__FILE__, __LINE__, _("Cannot extract return value of %d bytes " @@ -1788,7 +1787,7 @@ nds32_extract_return_value (struct gdbarch *gdbarch, struct type *type, } else if (len == 4) { - regcache_cooked_read (regcache, NDS32_R0_REGNUM, valbuf); + regcache->cooked_read (NDS32_R0_REGNUM, valbuf); } else if (len < 8) { @@ -1805,8 +1804,8 @@ nds32_extract_return_value (struct gdbarch *gdbarch, struct type *type, } else { - regcache_cooked_read (regcache, NDS32_R0_REGNUM, valbuf); - regcache_cooked_read (regcache, NDS32_R0_REGNUM + 1, valbuf + 4); + regcache->cooked_read (NDS32_R0_REGNUM, valbuf); + regcache->cooked_read (NDS32_R0_REGNUM + 1, valbuf + 4); } } } @@ -1830,9 +1829,9 @@ nds32_store_return_value (struct gdbarch *gdbarch, struct type *type, if (abi_use_fpr && calling_use_fpr) { if (len == 4) - regcache_cooked_write (regcache, tdep->fs0_regnum, valbuf); + regcache->cooked_write (tdep->fs0_regnum, valbuf); else if (len == 8) - regcache_cooked_write (regcache, NDS32_FD0_REGNUM, valbuf); + regcache->cooked_write (NDS32_FD0_REGNUM, valbuf); else internal_error (__FILE__, __LINE__, _("Cannot store return value of %d bytes " @@ -1849,7 +1848,7 @@ nds32_store_return_value (struct gdbarch *gdbarch, struct type *type, } else if (len == 4) { - regcache_cooked_write (regcache, NDS32_R0_REGNUM, valbuf); + regcache->cooked_write (NDS32_R0_REGNUM, valbuf); } else if (len < 8) { @@ -1867,8 +1866,8 @@ nds32_store_return_value (struct gdbarch *gdbarch, struct type *type, } else { - regcache_cooked_write (regcache, NDS32_R0_REGNUM, valbuf); - regcache_cooked_write (regcache, NDS32_R0_REGNUM + 1, valbuf + 4); + regcache->cooked_write (NDS32_R0_REGNUM, valbuf); + regcache->cooked_write (NDS32_R0_REGNUM + 1, valbuf + 4); } } } @@ -2101,7 +2100,7 @@ nds32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Add NDS32 register aliases. To avoid search in user register name space, user_reg_map_name_to_regnum is not used. */ - maxregs = (gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch)); + maxregs = gdbarch_num_cooked_regs (gdbarch); for (i = 0; i < ARRAY_SIZE (nds32_register_aliases); i++) { int regnum, j;