X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fregcache.h;h=e1495f61426f879386b905ab1e97421bdd061bf5;hb=21122961ecea30b3be7c788e09179d297e3233f0;hp=1a4ff4248a84f618e3f853d467ba9f64241b1158;hpb=618f726fcb851883a0094aa7fa17003889b7189f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/regcache.h b/gdb/regcache.h index 1a4ff4248a..e1495f6142 100644 --- a/gdb/regcache.h +++ b/gdb/regcache.h @@ -1,6 +1,6 @@ /* Cache and manage the values of registers for GDB, the GNU debugger. - Copyright (C) 1986-2016 Free Software Foundation, Inc. + Copyright (C) 1986-2017 Free Software Foundation, Inc. This file is part of GDB. @@ -50,6 +50,10 @@ extern struct address_space *get_regcache_aspace (const struct regcache *); enum register_status regcache_register_status (const struct regcache *regcache, int regnum); +/* Make certain that the register REGNUM in REGCACHE is up-to-date. */ + +void regcache_raw_update (struct regcache *regcache, int regnum); + /* Transfer a raw register [0..NUM_REGS) between core-gdb and the regcache. The read variants return the status of the register. */ @@ -66,6 +70,20 @@ extern void regcache_raw_write_signed (struct regcache *regcache, extern void regcache_raw_write_unsigned (struct regcache *regcache, int regnum, ULONGEST val); +/* Return the register's value in signed or throw if it's not + available. */ + +extern LONGEST regcache_raw_get_signed (struct regcache *regcache, + int regnum); + +/* Set a raw register's value in the regcache's buffer. Unlike + regcache_raw_write, this is not write-through. The intention is + allowing to change the buffer contents of a read-only regcache + allocated with regcache_xmalloc. */ + +extern void regcache_raw_set_cached_value + (struct regcache *regcache, int regnum, const gdb_byte *buf); + /* Partial transfer of raw registers. These perform read, modify, write style operations. The read variant returns the status of the register. */