diff mbox

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

Message ID 87lhppnb33.fsf@kepler.schwinge.homeip.net
State New
Headers show

Commit Message

Thomas Schwinge Sept. 11, 2014, 8:42 p.m. UTC
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(+)



Grüße,
 Thomas

Comments

Andreas Arnez Sept. 12, 2014, 12:10 p.m. UTC | #1
On Thu, Sep 11 2014, Thomas Schwinge wrote:

> 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);
>                   ^

Right.  Sorry for the breakage.
Joel Brobecker Sept. 12, 2014, 1:06 p.m. UTC | #2
>     Make gdb/regcache.h self-contained.
>     
>     	gdb/
>     	* regcache.h (struct regset): Declare.

Thank you. This is OK, so please go ahead and push if not already done.
diff mbox

Patch

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;