Hi! On Thu, 31 Jul 2014 13:04:35 +0200, Andreas Arnez wrote: > These functions are intended to suit all targets that don't require too > special logic in their regset supply/collect methods. Having such > generic functions helps reducing target-specific complexity. > > gdb/ > * regcache.c: Include "regset.h". > (regcache_transfer_regset): New local function. > (regcache_supply_regset, regcache_collect_regset): New functions. > * regcache.h (struct regcache_map_entry): New structure. > (REGCACHE_MAP_SKIP): New enum value. > (regcache_supply_regset, regcache_collect_regset): New prototypes. > --- a/gdb/regcache.h > +++ b/gdb/regcache.h > +extern void regcache_supply_regset (const struct regset *regset, > + struct regcache *regcache, > + int regnum, const void *buf, > + size_t size); > +extern void regcache_collect_regset (const struct regset *regset, > + const struct regcache *regcache, > + int regnum, void *buf, size_t size); > + A tiny fix to that: commit a01cbb490b34eda832c0215b8447e6aef68b0278 Author: Thomas Schwinge Date: Thu Sep 11 22:30:23 2014 +0200 Make gdb/regcache.h self-contained. gdb/ * regcache.h (struct regset): Declare. Commit 0b3092721e5cfa1697f1dafe81efefdbb0236f21 added uses of struct regset to gdb/regcache.h, but that struct is not declared in this file, and, as it happens, also nowhere else in the #include chain on x86 GNU/Hurd. This results in warnings/errors such as: gcc-4.8 [...] ../../W._C._Handy/gdb/gdb.c In file included from ./nm.h:25:0, from ../../W._C._Handy/gdb/defs.h:454, from ../../W._C._Handy/gdb/gdb.c:19: ../../W._C._Handy/gdb/regcache.h:190:9: warning: 'struct regset' declared inside parameter list [enabled by default] size_t size); ^ ../../W._C._Handy/gdb/regcache.h:190:9: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] ../../W._C._Handy/gdb/regcache.h:193:10: warning: 'struct regset' declared inside parameter list [enabled by default] int regnum, void *buf, size_t size); ^ --- gdb/ChangeLog | 4 ++++ gdb/regcache.h | 1 + 2 files changed, 5 insertions(+) diff --git gdb/ChangeLog gdb/ChangeLog index 676de56..30112cb 100644 --- gdb/ChangeLog +++ gdb/ChangeLog @@ -1,3 +1,7 @@ +2014-09-11 Thomas Schwinge + + * regcache.h (struct regset): Declare. + 2014-09-11 Pedro Alves PR gdb/17347 diff --git gdb/regcache.h gdb/regcache.h index 0361f22..0e0b84b 100644 --- gdb/regcache.h +++ gdb/regcache.h @@ -21,6 +21,7 @@ #define REGCACHE_H struct regcache; +struct regset; struct gdbarch; struct address_space; Grüße, Thomas