From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3450 invoked by alias); 24 Aug 2002 15:09:48 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 3238 invoked from network); 24 Aug 2002 15:06:02 -0000 Received: from unknown (HELO walton.kettenis.dyndns.org) (62.163.169.250) by 209.249.29.67 with SMTP; 24 Aug 2002 15:06:02 -0000 Received: from elgar.kettenis.dyndns.org (elgar.kettenis.dyndns.org [192.168.0.2]) by walton.kettenis.dyndns.org (8.12.5/8.12.5) with ESMTP id g7OF51Uo005023 for ; Sat, 24 Aug 2002 17:05:01 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: from elgar.kettenis.dyndns.org (localhost [127.0.0.1]) by elgar.kettenis.dyndns.org (8.12.5/8.12.5) with ESMTP id g7OF51iK070692 for ; Sat, 24 Aug 2002 17:05:01 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: (from kettenis@localhost) by elgar.kettenis.dyndns.org (8.12.5/8.12.5/Submit) id g7OF51ma070689; Sat, 24 Aug 2002 17:05:01 +0200 (CEST) Date: Sat, 24 Aug 2002 08:27:00 -0000 Message-Id: <200208241505.g7OF51ma070689@elgar.kettenis.dyndns.org> From: Mark Kettenis To: gdb-patches@sources.redhat.com Subject: [PATCH/RFA] regcache_raw_write_signed and regcache_raw_write_unsigned X-SW-Source: 2002-08/txt/msg00800.txt.bz2 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? Mark Index: ChangeLog from Mark Kettenis * 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. */