X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsparc64-tdep.c;h=5b7d57a21638ddae7c27067edf0e1313e7126bd4;hb=f7e13587eaf1e2d433e21ac0a9e413a98e53652d;hp=67103cc2ecb9426fd04ff4027f1c1bbad48a45d1;hpb=03f50fc878f75fcdebf0e3273f201fb4b62b0bae;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c index 67103cc2ec..5b7d57a216 100644 --- a/gdb/sparc64-tdep.c +++ b/gdb/sparc64-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for UltraSPARC. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -214,7 +214,7 @@ read_maps_entry (const char *line, static bool adi_available (void) { - pid_t pid = ptid_get_pid (inferior_ptid); + pid_t pid = inferior_ptid.pid (); sparc64_adi_info *proc = get_adi_info_proc (pid); CORE_ADDR value; @@ -222,10 +222,10 @@ adi_available (void) return proc->stat.is_avail; proc->stat.checked_avail = true; - if (target_auxv_search (¤t_target, AT_ADI_BLKSZ, &value) <= 0) + if (target_auxv_search (current_top_target (), AT_ADI_BLKSZ, &value) <= 0) return false; proc->stat.blksize = value; - target_auxv_search (¤t_target, AT_ADI_NBITS, &value); + target_auxv_search (current_top_target (), AT_ADI_NBITS, &value); proc->stat.nbits = value; proc->stat.max_version = (1 << proc->stat.nbits) - 2; proc->stat.is_avail = true; @@ -238,7 +238,7 @@ adi_available (void) static CORE_ADDR adi_normalize_address (CORE_ADDR addr) { - adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid)); + adi_stat_t ast = get_adi_info (inferior_ptid.pid ()); if (ast.nbits) { @@ -258,7 +258,7 @@ adi_normalize_address (CORE_ADDR addr) static CORE_ADDR adi_align_address (CORE_ADDR naddr) { - adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid)); + adi_stat_t ast = get_adi_info (inferior_ptid.pid ()); return (naddr - (naddr % ast.blksize)) / ast.blksize; } @@ -268,7 +268,7 @@ adi_align_address (CORE_ADDR naddr) static int adi_convert_byte_count (CORE_ADDR naddr, int nbytes, CORE_ADDR locl) { - adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid)); + adi_stat_t ast = get_adi_info (inferior_ptid.pid ()); return ((naddr + nbytes + ast.blksize - 1) / ast.blksize) - locl; } @@ -285,7 +285,7 @@ adi_convert_byte_count (CORE_ADDR naddr, int nbytes, CORE_ADDR locl) static int adi_tag_fd (void) { - pid_t pid = ptid_get_pid (inferior_ptid); + pid_t pid = inferior_ptid.pid (); sparc64_adi_info *proc = get_adi_info_proc (pid); if (proc->stat.tag_fd != 0) @@ -309,7 +309,7 @@ adi_is_addr_mapped (CORE_ADDR vaddr, size_t cnt) char filename[MAX_PROC_NAME_SIZE]; size_t i = 0; - pid_t pid = ptid_get_pid (inferior_ptid); + pid_t pid = inferior_ptid.pid (); snprintf (filename, sizeof filename, "/proc/%ld/adi/maps", (long) pid); gdb::unique_xmalloc_ptr data = target_fileio_read_stralloc (NULL, filename); @@ -349,7 +349,7 @@ adi_read_versions (CORE_ADDR vaddr, size_t size, gdb_byte *tags) if (!adi_is_addr_mapped (vaddr, size)) { - adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid)); + adi_stat_t ast = get_adi_info (inferior_ptid.pid ()); error(_("Address at %s is not in ADI maps"), paddress (target_gdbarch (), vaddr * ast.blksize)); } @@ -370,7 +370,7 @@ adi_write_versions (CORE_ADDR vaddr, size_t size, unsigned char *tags) if (!adi_is_addr_mapped (vaddr, size)) { - adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid)); + adi_stat_t ast = get_adi_info (inferior_ptid.pid ()); error(_("Address at %s is not in ADI maps"), paddress (target_gdbarch (), vaddr * ast.blksize)); } @@ -388,7 +388,7 @@ adi_print_versions (CORE_ADDR vaddr, size_t cnt, gdb_byte *tags) int v_idx = 0; const int maxelts = 8; /* # of elements per line */ - adi_stat_t adi_stat = get_adi_info (ptid_get_pid (inferior_ptid)); + adi_stat_t adi_stat = get_adi_info (inferior_ptid.pid ()); while (cnt > 0) { @@ -406,7 +406,6 @@ adi_print_versions (CORE_ADDR vaddr, size_t cnt, gdb_byte *tags) ++v_idx; } printf_filtered ("\n"); - gdb_flush (gdb_stdout); vaddr += maxelts; } } @@ -449,7 +448,7 @@ do_assign (CORE_ADDR start, size_t bcnt, int version) Command syntax: - adi (examine|x)/count */ + adi (examine|x)[/COUNT] [ADDR] */ static void adi_examine_command (const char *args, int from_tty) @@ -461,8 +460,6 @@ adi_examine_command (const char *args, int from_tty) if (!adi_available ()) error (_("No ADI information")); - pid_t pid = ptid_get_pid (inferior_ptid); - sparc64_adi_info *proc = get_adi_info_proc (pid); int cnt = 1; const char *p = args; if (p && *p == '/') @@ -475,7 +472,7 @@ adi_examine_command (const char *args, int from_tty) if (p != 0 && *p != 0) next_address = parse_and_eval_address (p); if (!cnt || !next_address) - error (_("Usage: adi examine|x[/count] ")); + error (_("Usage: adi examine|x[/COUNT] [ADDR]")); do_examine (next_address, cnt); } @@ -484,11 +481,14 @@ adi_examine_command (const char *args, int from_tty) Command syntax: - adi (assign|a)/count = */ + adi (assign|a)[/COUNT] ADDR = VERSION */ static void adi_assign_command (const char *args, int from_tty) { + static const char *adi_usage + = N_("Usage: adi assign|a[/COUNT] ADDR = VERSION"); + /* make sure program is active and adi is available */ if (!target_has_execution) error (_("ADI command requires a live process/thread")); @@ -498,13 +498,13 @@ adi_assign_command (const char *args, int from_tty) const char *exp = args; if (exp == 0) - error_no_arg (_("Usage: adi assign|a[/count] = ")); + error_no_arg (_(adi_usage)); char *q = (char *) strchr (exp, '='); if (q) *q++ = 0; else - error (_("Usage: adi assign|a[/count] = ")); + error ("%s", _(adi_usage)); size_t cnt = 1; const char *p = args; @@ -518,12 +518,12 @@ adi_assign_command (const char *args, int from_tty) if (p != 0 && *p != 0) next_address = parse_and_eval_address (p); else - error (_("Usage: adi assign|a[/count] = ")); + error ("%s", _(adi_usage)); int version = 0; if (q != NULL) /* parse version tag */ { - adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid)); + adi_stat_t ast = get_adi_info (inferior_ptid.pid ()); version = parse_and_eval_long (q); if (version < 0 || version > ast.max_version) error (_("Invalid ADI version tag %d"), version); @@ -899,7 +899,7 @@ sparc64_register_type (struct gdbarch *gdbarch, int regnum) static enum register_status sparc64_pseudo_register_read (struct gdbarch *gdbarch, - struct regcache *regcache, + readable_regcache *regcache, int regnum, gdb_byte *buf) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -988,27 +988,27 @@ sparc64_pseudo_register_write (struct gdbarch *gdbarch, if (regnum >= SPARC64_D0_REGNUM && regnum <= SPARC64_D30_REGNUM) { regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC64_D0_REGNUM); - regcache_raw_write (regcache, regnum, buf); - regcache_raw_write (regcache, regnum + 1, buf + 4); + regcache->raw_write (regnum, buf); + regcache->raw_write (regnum + 1, buf + 4); } else if (regnum >= SPARC64_D32_REGNUM && regnum <= SPARC64_D62_REGNUM) { regnum = SPARC64_F32_REGNUM + (regnum - SPARC64_D32_REGNUM); - regcache_raw_write (regcache, regnum, buf); + regcache->raw_write (regnum, buf); } else if (regnum >= SPARC64_Q0_REGNUM && regnum <= SPARC64_Q28_REGNUM) { regnum = SPARC_F0_REGNUM + 4 * (regnum - SPARC64_Q0_REGNUM); - regcache_raw_write (regcache, regnum, buf); - regcache_raw_write (regcache, regnum + 1, buf + 4); - regcache_raw_write (regcache, regnum + 2, buf + 8); - regcache_raw_write (regcache, regnum + 3, buf + 12); + regcache->raw_write (regnum, buf); + regcache->raw_write (regnum + 1, buf + 4); + regcache->raw_write (regnum + 2, buf + 8); + regcache->raw_write (regnum + 3, buf + 12); } else if (regnum >= SPARC64_Q32_REGNUM && regnum <= SPARC64_Q60_REGNUM) { regnum = SPARC64_F32_REGNUM + 2 * (regnum - SPARC64_Q32_REGNUM); - regcache_raw_write (regcache, regnum, buf); - regcache_raw_write (regcache, regnum + 1, buf + 8); + regcache->raw_write (regnum, buf); + regcache->raw_write (regnum + 1, buf + 8); } else if (regnum == SPARC64_CWP_REGNUM || regnum == SPARC64_PSTATE_REGNUM @@ -1226,7 +1226,7 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type, len = 8; } for (int n = 0; n < (len + 3) / 4; n++) - regcache_cooked_write (regcache, regnum + n, valbuf + n * 4); + regcache->cooked_write (regnum + n, valbuf + n * 4); } else if (sparc64_floating_p (type) || (sparc64_complex_floating_p (type) && len <= 16)) @@ -1239,7 +1239,7 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type, gdb_assert ((element % 2) == 0); regnum = gdbarch_num_regs (gdbarch) + SPARC64_Q0_REGNUM + element / 2; - regcache_cooked_write (regcache, regnum, valbuf); + regcache->cooked_write (regnum, valbuf); } else if (len == 8) { @@ -1247,7 +1247,7 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type, regnum = gdbarch_num_regs (gdbarch) + SPARC64_D0_REGNUM + element + bitpos / 64; - regcache_cooked_write (regcache, regnum, valbuf + (bitpos / 8)); + regcache->cooked_write (regnum, valbuf + (bitpos / 8)); } else { @@ -1255,7 +1255,7 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type, gdb_assert (bitpos % 32 == 0 && bitpos >= 0 && bitpos < 128); regnum = SPARC_F0_REGNUM + element * 2 + bitpos / 32; - regcache_cooked_write (regcache, regnum, valbuf + (bitpos / 8)); + regcache->cooked_write (regnum, valbuf + (bitpos / 8)); } } else if (sparc64_structure_or_union_p (type)) @@ -1285,7 +1285,7 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type, struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, 0)); if (sparc64_floating_p (subtype) && TYPE_LENGTH (subtype) == 4) - regcache_cooked_write (regcache, SPARC_F1_REGNUM, valbuf); + regcache->cooked_write (SPARC_F1_REGNUM, valbuf); } } } @@ -1310,12 +1310,12 @@ sparc64_extract_floating_fields (struct regcache *regcache, struct type *type, if (len < 4) { gdb_byte buf[4]; - regcache_cooked_read (regcache, regnum, buf); + regcache->cooked_read (regnum, buf); memcpy (valbuf, buf + 4 - len, len); } else for (int i = 0; i < (len + 3) / 4; i++) - regcache_cooked_read (regcache, regnum + i, valbuf + i * 4); + regcache->cooked_read (regnum + i, valbuf + i * 4); } else if (sparc64_floating_p (type)) { @@ -1328,14 +1328,14 @@ sparc64_extract_floating_fields (struct regcache *regcache, struct type *type, regnum = gdbarch_num_regs (gdbarch) + SPARC64_Q0_REGNUM + bitpos / 128; - regcache_cooked_read (regcache, regnum, valbuf + (bitpos / 8)); + regcache->cooked_read (regnum, valbuf + (bitpos / 8)); } else if (len == 8) { gdb_assert (bitpos % 64 == 0 && bitpos >= 0 && bitpos < 256); regnum = gdbarch_num_regs (gdbarch) + SPARC64_D0_REGNUM + bitpos / 64; - regcache_cooked_read (regcache, regnum, valbuf + (bitpos / 8)); + regcache->cooked_read (regnum, valbuf + (bitpos / 8)); } else { @@ -1343,7 +1343,7 @@ sparc64_extract_floating_fields (struct regcache *regcache, struct type *type, gdb_assert (bitpos % 32 == 0 && bitpos >= 0 && bitpos < 256); regnum = SPARC_F0_REGNUM + bitpos / 32; - regcache_cooked_read (regcache, regnum, valbuf + (bitpos / 8)); + regcache->cooked_read (regnum, valbuf + (bitpos / 8)); } } else if (sparc64_structure_or_union_p (type)) @@ -1366,7 +1366,8 @@ sparc64_extract_floating_fields (struct regcache *regcache, struct type *type, static CORE_ADDR sparc64_store_arguments (struct regcache *regcache, 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) { struct gdbarch *gdbarch = regcache->arch (); /* Number of extended words in the "parameter array". */ @@ -1380,7 +1381,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, /* First we calculate the number of extended words in the "parameter array". While doing so we also convert some of the arguments. */ - if (struct_return) + if (return_method == return_method_struct) num_elements++; for (i = 0; i < nargs; i++) @@ -1476,7 +1477,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, contents of any unused memory or registers in the "parameter array" are undefined. */ - if (struct_return) + if (return_method == return_method_struct) { regcache_cooked_write_unsigned (regcache, SPARC_O0_REGNUM, struct_addr); element++; @@ -1506,7 +1507,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, { regnum = SPARC_O0_REGNUM + element; if (len > 8 && element < 5) - regcache_cooked_write (regcache, regnum + 1, valbuf + 8); + regcache->cooked_write (regnum + 1, valbuf + 8); } if (element < 16) @@ -1522,11 +1523,10 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, if (len == 16) { if (regnum < gdbarch_num_regs (gdbarch) + SPARC64_D30_REGNUM) - regcache_cooked_write (regcache, regnum + 1, valbuf + 8); + regcache->cooked_write (regnum + 1, valbuf + 8); if (regnum < gdbarch_num_regs (gdbarch) + SPARC64_D10_REGNUM) - regcache_cooked_write (regcache, - SPARC_O0_REGNUM + element + 1, - valbuf + 8); + regcache->cooked_write (SPARC_O0_REGNUM + element + 1, + valbuf + 8); } } } @@ -1574,7 +1574,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, if (regnum != -1) { - regcache_cooked_write (regcache, regnum, valbuf); + regcache->cooked_write (regnum, valbuf); /* If we're storing the value in a floating-point register, also store it in the corresponding %0 register(s). */ @@ -1586,14 +1586,14 @@ sparc64_store_arguments (struct regcache *regcache, int nargs, { gdb_assert (element < 6); regnum = SPARC_O0_REGNUM + element; - regcache_cooked_write (regcache, regnum, valbuf); + regcache->cooked_write (regnum, valbuf); } else if (regnum >= SPARC64_Q0_REGNUM && regnum <= SPARC64_Q8_REGNUM) { gdb_assert (element < 5); regnum = SPARC_O0_REGNUM + element; - regcache_cooked_write (regcache, regnum, valbuf); - regcache_cooked_write (regcache, regnum + 1, valbuf + 8); + regcache->cooked_write (regnum, valbuf); + regcache->cooked_write (regnum + 1, valbuf + 8); } } } @@ -1621,14 +1621,15 @@ static CORE_ADDR sparc64_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) { /* Set return address. */ regcache_cooked_write_unsigned (regcache, SPARC_O7_REGNUM, bp_addr - 8); /* Set up function arguments. */ - sp = sparc64_store_arguments (regcache, nargs, args, sp, - struct_return, struct_addr); + sp = sparc64_store_arguments (regcache, nargs, args, sp, return_method, + struct_addr); /* Allocate the register save area. */ sp -= 16 * 8; @@ -1660,7 +1661,7 @@ sparc64_extract_return_value (struct type *type, struct regcache *regcache, gdb_assert (len <= 32); for (i = 0; i < ((len + 7) / 8); i++) - regcache_cooked_read (regcache, SPARC_O0_REGNUM + i, buf + i * 8); + regcache->cooked_read (SPARC_O0_REGNUM + i, buf + i * 8); if (TYPE_CODE (type) != TYPE_CODE_UNION) sparc64_extract_floating_fields (regcache, type, buf, 0); memcpy (valbuf, buf, len); @@ -1669,7 +1670,7 @@ sparc64_extract_return_value (struct type *type, struct regcache *regcache, { /* Floating return values. */ for (i = 0; i < len / 4; i++) - regcache_cooked_read (regcache, SPARC_F0_REGNUM + i, buf + i * 4); + regcache->cooked_read (SPARC_F0_REGNUM + i, buf + i * 4); memcpy (valbuf, buf, len); } else if (TYPE_CODE (type) == TYPE_CODE_ARRAY) @@ -1678,7 +1679,7 @@ sparc64_extract_return_value (struct type *type, struct regcache *regcache, gdb_assert (len <= 32); for (i = 0; i < ((len + 7) / 8); i++) - regcache_cooked_read (regcache, SPARC_O0_REGNUM + i, buf + i * 8); + regcache->cooked_read (SPARC_O0_REGNUM + i, buf + i * 8); memcpy (valbuf, buf, len); } else @@ -1688,7 +1689,7 @@ sparc64_extract_return_value (struct type *type, struct regcache *regcache, /* Just stripping off any unused bytes should preserve the signed-ness just fine. */ - regcache_cooked_read (regcache, SPARC_O0_REGNUM, buf); + regcache->cooked_read (SPARC_O0_REGNUM, buf); memcpy (valbuf, buf + 8 - len, len); } } @@ -1715,7 +1716,7 @@ sparc64_store_return_value (struct type *type, struct regcache *regcache, memset (buf, 0, sizeof (buf)); memcpy (buf, valbuf, len); for (i = 0; i < ((len + 7) / 8); i++) - regcache_cooked_write (regcache, SPARC_O0_REGNUM + i, buf + i * 8); + regcache->cooked_write (SPARC_O0_REGNUM + i, buf + i * 8); if (TYPE_CODE (type) != TYPE_CODE_UNION) sparc64_store_floating_fields (regcache, type, buf, 0, 0); } @@ -1724,7 +1725,7 @@ sparc64_store_return_value (struct type *type, struct regcache *regcache, /* Floating return values. */ memcpy (buf, valbuf, len); for (i = 0; i < len / 4; i++) - regcache_cooked_write (regcache, SPARC_F0_REGNUM + i, buf + i * 4); + regcache->cooked_write (SPARC_F0_REGNUM + i, buf + i * 4); } else if (TYPE_CODE (type) == TYPE_CODE_ARRAY) { @@ -1734,7 +1735,7 @@ sparc64_store_return_value (struct type *type, struct regcache *regcache, memset (buf, 0, sizeof (buf)); memcpy (buf, valbuf, len); for (i = 0; i < ((len + 7) / 8); i++) - regcache_cooked_write (regcache, SPARC_O0_REGNUM + i, buf + i * 8); + regcache->cooked_write (SPARC_O0_REGNUM + i, buf + i * 8); } else { @@ -1744,7 +1745,7 @@ sparc64_store_return_value (struct type *type, struct regcache *regcache, /* ??? Do we need to do any sign-extension here? */ memset (buf, 0, 8); memcpy (buf + 8 - len, valbuf, len); - regcache_cooked_write (regcache, SPARC_O0_REGNUM, buf); + regcache->cooked_write (SPARC_O0_REGNUM, buf); } } @@ -1898,36 +1899,36 @@ sparc64_supply_gregset (const struct sparc_gregmap *gregmap, psr = ((tstate & TSTATE_CWP) | PSR_S | ((tstate & TSTATE_ICC) >> 12) | ((tstate & TSTATE_XCC) >> 20) | PSR_V8PLUS); store_unsigned_integer (buf, 4, byte_order, psr); - regcache_raw_supply (regcache, SPARC32_PSR_REGNUM, buf); + regcache->raw_supply (SPARC32_PSR_REGNUM, buf); } if (regnum == SPARC32_PC_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC32_PC_REGNUM, - regs + gregmap->r_pc_offset + 4); + regcache->raw_supply (SPARC32_PC_REGNUM, + regs + gregmap->r_pc_offset + 4); if (regnum == SPARC32_NPC_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC32_NPC_REGNUM, - regs + gregmap->r_npc_offset + 4); + regcache->raw_supply (SPARC32_NPC_REGNUM, + regs + gregmap->r_npc_offset + 4); if (regnum == SPARC32_Y_REGNUM || regnum == -1) { int offset = gregmap->r_y_offset + 8 - gregmap->r_y_size; - regcache_raw_supply (regcache, SPARC32_Y_REGNUM, regs + offset); + regcache->raw_supply (SPARC32_Y_REGNUM, regs + offset); } } else { if (regnum == SPARC64_STATE_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC64_STATE_REGNUM, - regs + gregmap->r_tstate_offset); + regcache->raw_supply (SPARC64_STATE_REGNUM, + regs + gregmap->r_tstate_offset); if (regnum == SPARC64_PC_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC64_PC_REGNUM, - regs + gregmap->r_pc_offset); + regcache->raw_supply (SPARC64_PC_REGNUM, + regs + gregmap->r_pc_offset); if (regnum == SPARC64_NPC_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC64_NPC_REGNUM, - regs + gregmap->r_npc_offset); + regcache->raw_supply (SPARC64_NPC_REGNUM, + regs + gregmap->r_npc_offset); if (regnum == SPARC64_Y_REGNUM || regnum == -1) { @@ -1936,17 +1937,17 @@ sparc64_supply_gregset (const struct sparc_gregmap *gregmap, memset (buf, 0, 8); memcpy (buf + 8 - gregmap->r_y_size, regs + gregmap->r_y_offset, gregmap->r_y_size); - regcache_raw_supply (regcache, SPARC64_Y_REGNUM, buf); + regcache->raw_supply (SPARC64_Y_REGNUM, buf); } if ((regnum == SPARC64_FPRS_REGNUM || regnum == -1) && gregmap->r_fprs_offset != -1) - regcache_raw_supply (regcache, SPARC64_FPRS_REGNUM, - regs + gregmap->r_fprs_offset); + regcache->raw_supply (SPARC64_FPRS_REGNUM, + regs + gregmap->r_fprs_offset); } if (regnum == SPARC_G0_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC_G0_REGNUM, &zero); + regcache->raw_supply (SPARC_G0_REGNUM, &zero); if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1) { @@ -1958,7 +1959,7 @@ sparc64_supply_gregset (const struct sparc_gregmap *gregmap, for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++) { if (regnum == i || regnum == -1) - regcache_raw_supply (regcache, i, regs + offset); + regcache->raw_supply (i, regs + offset); offset += 8; } } @@ -1984,7 +1985,7 @@ sparc64_supply_gregset (const struct sparc_gregmap *gregmap, for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++) { if (regnum == i || regnum == -1) - regcache_raw_supply (regcache, i, regs + offset); + regcache->raw_supply (i, regs + offset); offset += 8; } } @@ -2011,7 +2012,7 @@ sparc64_collect_gregset (const struct sparc_gregmap *gregmap, gdb_byte buf[8]; tstate = extract_unsigned_integer (regs + offset, 8, byte_order); - regcache_raw_collect (regcache, SPARC32_PSR_REGNUM, buf); + regcache->raw_collect (SPARC32_PSR_REGNUM, buf); psr = extract_unsigned_integer (buf, 4, byte_order); tstate |= (psr & PSR_ICC) << 12; if ((psr & (PSR_VERS | PSR_IMPL)) == PSR_V8PLUS) @@ -2021,46 +2022,46 @@ sparc64_collect_gregset (const struct sparc_gregmap *gregmap, } if (regnum == SPARC32_PC_REGNUM || regnum == -1) - regcache_raw_collect (regcache, SPARC32_PC_REGNUM, - regs + gregmap->r_pc_offset + 4); + regcache->raw_collect (SPARC32_PC_REGNUM, + regs + gregmap->r_pc_offset + 4); if (regnum == SPARC32_NPC_REGNUM || regnum == -1) - regcache_raw_collect (regcache, SPARC32_NPC_REGNUM, - regs + gregmap->r_npc_offset + 4); + regcache->raw_collect (SPARC32_NPC_REGNUM, + regs + gregmap->r_npc_offset + 4); if (regnum == SPARC32_Y_REGNUM || regnum == -1) { int offset = gregmap->r_y_offset + 8 - gregmap->r_y_size; - regcache_raw_collect (regcache, SPARC32_Y_REGNUM, regs + offset); + regcache->raw_collect (SPARC32_Y_REGNUM, regs + offset); } } else { if (regnum == SPARC64_STATE_REGNUM || regnum == -1) - regcache_raw_collect (regcache, SPARC64_STATE_REGNUM, - regs + gregmap->r_tstate_offset); + regcache->raw_collect (SPARC64_STATE_REGNUM, + regs + gregmap->r_tstate_offset); if (regnum == SPARC64_PC_REGNUM || regnum == -1) - regcache_raw_collect (regcache, SPARC64_PC_REGNUM, - regs + gregmap->r_pc_offset); + regcache->raw_collect (SPARC64_PC_REGNUM, + regs + gregmap->r_pc_offset); if (regnum == SPARC64_NPC_REGNUM || regnum == -1) - regcache_raw_collect (regcache, SPARC64_NPC_REGNUM, - regs + gregmap->r_npc_offset); + regcache->raw_collect (SPARC64_NPC_REGNUM, + regs + gregmap->r_npc_offset); if (regnum == SPARC64_Y_REGNUM || regnum == -1) { gdb_byte buf[8]; - regcache_raw_collect (regcache, SPARC64_Y_REGNUM, buf); + regcache->raw_collect (SPARC64_Y_REGNUM, buf); memcpy (regs + gregmap->r_y_offset, buf + 8 - gregmap->r_y_size, gregmap->r_y_size); } if ((regnum == SPARC64_FPRS_REGNUM || regnum == -1) && gregmap->r_fprs_offset != -1) - regcache_raw_collect (regcache, SPARC64_FPRS_REGNUM, - regs + gregmap->r_fprs_offset); + regcache->raw_collect (SPARC64_FPRS_REGNUM, + regs + gregmap->r_fprs_offset); } @@ -2075,7 +2076,7 @@ sparc64_collect_gregset (const struct sparc_gregmap *gregmap, for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++) { if (regnum == i || regnum == -1) - regcache_raw_collect (regcache, i, regs + offset); + regcache->raw_collect (i, regs + offset); offset += 8; } } @@ -2094,7 +2095,7 @@ sparc64_collect_gregset (const struct sparc_gregmap *gregmap, for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++) { if (regnum == i || regnum == -1) - regcache_raw_collect (regcache, i, regs + offset); + regcache->raw_collect (i, regs + offset); offset += 8; } } @@ -2113,14 +2114,14 @@ sparc64_supply_fpregset (const struct sparc_fpregmap *fpregmap, for (i = 0; i < 32; i++) { if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1) - regcache_raw_supply (regcache, SPARC_F0_REGNUM + i, - regs + fpregmap->r_f0_offset + (i * 4)); + regcache->raw_supply (SPARC_F0_REGNUM + i, + regs + fpregmap->r_f0_offset + (i * 4)); } if (sparc32) { if (regnum == SPARC32_FSR_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC32_FSR_REGNUM, + regcache->raw_supply (SPARC32_FSR_REGNUM, regs + fpregmap->r_fsr_offset); } else @@ -2128,14 +2129,14 @@ sparc64_supply_fpregset (const struct sparc_fpregmap *fpregmap, for (i = 0; i < 16; i++) { if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1) - regcache_raw_supply (regcache, SPARC64_F32_REGNUM + i, - (regs + fpregmap->r_f0_offset - + (32 * 4) + (i * 8))); + regcache->raw_supply + (SPARC64_F32_REGNUM + i, + regs + fpregmap->r_f0_offset + (32 * 4) + (i * 8)); } if (regnum == SPARC64_FSR_REGNUM || regnum == -1) - regcache_raw_supply (regcache, SPARC64_FSR_REGNUM, - regs + fpregmap->r_fsr_offset); + regcache->raw_supply (SPARC64_FSR_REGNUM, + regs + fpregmap->r_fsr_offset); } } @@ -2151,29 +2152,29 @@ sparc64_collect_fpregset (const struct sparc_fpregmap *fpregmap, for (i = 0; i < 32; i++) { if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1) - regcache_raw_collect (regcache, SPARC_F0_REGNUM + i, - regs + fpregmap->r_f0_offset + (i * 4)); + regcache->raw_collect (SPARC_F0_REGNUM + i, + regs + fpregmap->r_f0_offset + (i * 4)); } if (sparc32) { if (regnum == SPARC32_FSR_REGNUM || regnum == -1) - regcache_raw_collect (regcache, SPARC32_FSR_REGNUM, - regs + fpregmap->r_fsr_offset); + regcache->raw_collect (SPARC32_FSR_REGNUM, + regs + fpregmap->r_fsr_offset); } else { for (i = 0; i < 16; i++) { if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1) - regcache_raw_collect (regcache, SPARC64_F32_REGNUM + i, - (regs + fpregmap->r_f0_offset - + (32 * 4) + (i * 8))); + regcache->raw_collect (SPARC64_F32_REGNUM + i, + (regs + fpregmap->r_f0_offset + + (32 * 4) + (i * 8))); } if (regnum == SPARC64_FSR_REGNUM || regnum == -1) - regcache_raw_collect (regcache, SPARC64_FSR_REGNUM, - regs + fpregmap->r_fsr_offset); + regcache->raw_collect (SPARC64_FSR_REGNUM, + regs + fpregmap->r_fsr_offset); } }