[PATCH v3 02/13] regcache: Add functions suitable for regset_supply/collect.

Thomas Schwinge thomas@codesourcery.com
Thu Sep 11 20:42:00 GMT 2014


Hi!

On Thu, 31 Jul 2014 13:04:35 +0200, Andreas Arnez <arnez@linux.vnet.ibm.com> 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 <thomas@codesourcery.com>
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  <thomas@codesourcery.com>
+
+	* regcache.h (struct regset): Declare.
+
 2014-09-11  Pedro Alves  <palves@redhat.com>
 
 	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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20140911/f32cc35f/attachment.sig>


More information about the Gdb-patches mailing list