[PATCH v2 02/13] regcache: Add functions suitable for regset_supply/collect.
Sat Jul 19 13:10:00 GMT 2014
On 10 July 2014 12:54, Andreas Arnez <email@example.com> wrote:
> On Tue, Jul 08 2014, Omair Javaid wrote:
>> I think you are right its better off if we leave the single register
>> variants to target specific *-tdep where they can be retrieved using
>> regcache_raw_ supply/collect functions. All other options to get
>> around the loops wont be trivial.
> Hm, I'd actually prefer if the new functions could be used for any
> case where registers are supplied to the regcache from a buffer, or
> collected from the regcache to a buffer.
> Which variants do you mean? Do you have examples where they are used?
Here's one implementation I saw for PPC, this is done for rs6000-tdep.c
ppc_supply_reg (struct regcache *regcache, int regnum,
const gdb_byte *regs, size_t offset, int regsize)
if (regnum != -1 && offset != -1)
if (regsize > 4)
struct gdbarch *gdbarch = get_regcache_arch (regcache);
int gdb_regsize = register_size (gdbarch, regnum);
if (gdb_regsize < regsize
&& gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
offset += regsize - gdb_regsize;
regcache_raw_supply (regcache, regnum, regs + offset);
But I agree that its better the way its been done already.
More information about the Gdb-patches