void
trad_frame_set_reg_regmap (struct trad_frame_cache *this_trad_cache,
const struct regcache_map_entry *regmap,
- CORE_ADDR addr, size_t size)
+ CORE_ADDR addr, size_t size, int regbase)
{
struct gdbarch *gdbarch = get_frame_arch (this_trad_cache->this_frame);
int offs = 0, count;
int regno = regmap->regno;
int slot_size = regmap->size;
+ if (regno != REGCACHE_MAP_SKIP)
+ regno += regbase;
+
if (slot_size == 0 && regno != REGCACHE_MAP_SKIP)
slot_size = register_size (gdbarch, regno);
int regnum, CORE_ADDR addr);
void trad_frame_set_reg_regmap (struct trad_frame_cache *this_trad_cache,
const struct regcache_map_entry *regmap,
- CORE_ADDR addr, size_t size);
+ CORE_ADDR addr, size_t size, int regbase = 0);
void trad_frame_set_reg_value (struct trad_frame_cache *this_cache,
int regnum, LONGEST val);