[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