[PATCH/RFA] regcache_raw_write_signed and regcache_raw_write_unsigned
Andrew Cagney
ac131313@ges.redhat.com
Sat Aug 24 18:31:00 GMT 2002
> To supplement regcache_raw_read_signed and regcache_raw_read_unsigned.
> They would be might convenient for me as a replacement for
> write_register.
>
> OK to check this in?
Yep!
Andrew
> Index: ChangeLog
> from Mark Kettenis <kettenis@gnu.org>
>
> * regcache.c (regcache_raw_write_signed,
> regcache_raw_write_unsigned): New functions.
> * regcache.h (regcache_raw_write_signed,
> regcache_raw_write_unsigned): New prototypes.
>
> Index: regcache.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/regcache.c,v
> retrieving revision 1.54
> diff -u -p -r1.54 regcache.c
> --- regcache.c 19 Aug 2002 00:43:41 -0000 1.54
> +++ regcache.c 24 Aug 2002 15:00:26 -0000
> @@ -693,6 +693,29 @@ regcache_raw_read_unsigned (struct regca
> }
>
> void
> +regcache_raw_write_signed (struct regcache *regcache, int regnum, LONGEST val)
> +{
> + void *buf;
> + gdb_assert (regcache != NULL);
> + gdb_assert (regnum >=0 && regnum < regcache->descr->nr_raw_registers);
> + buf = alloca (regcache->descr->sizeof_register[regnum]);
> + store_signed_integer (buf, regcache->descr->sizeof_register[regnum], val);
> + regcache_raw_write (regcache, regnum, buf);
> +}
> +
> +void
> +regcache_raw_write_unsigned (struct regcache *regcache, int regnum,
> + ULONGEST val)
> +{
> + void *buf;
> + gdb_assert (regcache != NULL);
> + gdb_assert (regnum >=0 && regnum < regcache->descr->nr_raw_registers);
> + buf = alloca (regcache->descr->sizeof_register[regnum]);
> + store_unsigned_integer (buf, regcache->descr->sizeof_register[regnum], val);
> + regcache_raw_write (regcache, regnum, buf);
> +}
> +
> +void
> read_register_gen (int regnum, char *buf)
> {
> gdb_assert (current_regcache != NULL);
> Index: regcache.h
> ===================================================================
> RCS file: /cvs/src/src/gdb/regcache.h,v
> retrieving revision 1.15
> diff -u -p -r1.15 regcache.h
> --- regcache.h 19 Aug 2002 00:43:41 -0000 1.15
> +++ regcache.h 24 Aug 2002 15:00:26 -0000
> @@ -42,6 +42,10 @@ extern void regcache_raw_read_signed (st
> int regnum, LONGEST *val);
> extern void regcache_raw_read_unsigned (struct regcache *regcache,
> int regnum, ULONGEST *val);
> +extern void regcache_raw_write_signed (struct regcache *regcache,
> + int regnum, LONGEST val);
> +extern void regcache_raw_write_unsigned (struct regcache *regcache,
> + int regnum, ULONGEST val);
>
> /* Partial transfer of a raw registers. These perform read, modify,
> write style operations. */
>
>
More information about the Gdb-patches
mailing list