X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsparc-sol2-nat.c;h=4bdd49f4b7b3b46acad740e0e10e868770dc0034;hb=0d2a7a932244fab27d6c4ce211ea8f7708a1a9cc;hp=3854fd920c459df2728a41df23b1b72a179785ca;hpb=0fb0cc7590113e9b459dfcc48dc71c9d419d9580;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sparc-sol2-nat.c b/gdb/sparc-sol2-nat.c index 3854fd920c..4bdd49f4b7 100644 --- a/gdb/sparc-sol2-nat.c +++ b/gdb/sparc-sol2-nat.c @@ -1,6 +1,6 @@ /* Native-dependent code for Solaris SPARC. - Copyright (C) 2003, 2004, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2003-2015 Free Software Foundation, Inc. This file is part of GDB. @@ -24,6 +24,8 @@ #include "gregset.h" #include "sparc-tdep.h" +#include "target.h" +#include "procfs.h" /* This file provids the (temporary) glue between the Solaris SPARC target dependent code and the machine independent SVR4 /proc @@ -56,8 +58,8 @@ #define sparc_collect_gregset sparc64_collect_gregset #define sparc_collect_fpregset sparc64_collect_fpregset -#define sparc_sol2_gregset sparc64_sol2_gregset -#define sparc_sol2_fpregset sparc64_sol2_fpregset +#define sparc_sol2_gregmap sparc64_sol2_gregmap +#define sparc_sol2_fpregmap sparc64_sol2_fpregmap #else @@ -66,31 +68,47 @@ #define sparc_collect_gregset sparc32_collect_gregset #define sparc_collect_fpregset sparc32_collect_fpregset -#define sparc_sol2_gregset sparc32_sol2_gregset -#define sparc_sol2_fpregset sparc32_sol2_fpregset +#define sparc_sol2_gregmap sparc32_sol2_gregmap +#define sparc_sol2_fpregmap sparc32_sol2_fpregmap #endif void supply_gregset (struct regcache *regcache, const prgregset_t *gregs) { - sparc_supply_gregset (&sparc_sol2_gregset, regcache, -1, gregs); + sparc_supply_gregset (&sparc_sol2_gregmap, regcache, -1, gregs); } void supply_fpregset (struct regcache *regcache, const prfpregset_t *fpregs) { - sparc_supply_fpregset (regcache, -1, fpregs); + sparc_supply_fpregset (&sparc_sol2_fpregmap, regcache, -1, fpregs); } void fill_gregset (const struct regcache *regcache, prgregset_t *gregs, int regnum) { - sparc_collect_gregset (&sparc_sol2_gregset, regcache, regnum, gregs); + sparc_collect_gregset (&sparc_sol2_gregmap, regcache, regnum, gregs); } void -fill_fpregset (const struct regcache *regcache, prfpregset_t *fpregs, int regnum) +fill_fpregset (const struct regcache *regcache, + prfpregset_t *fpregs, int regnum) { - sparc_collect_fpregset (regcache, regnum, fpregs); + sparc_collect_fpregset (&sparc_sol2_fpregmap, regcache, regnum, fpregs); +} + +/* Provide a prototype to silence -Wmissing-prototypes. */ +extern initialize_file_ftype _initialize_sparc_sol2_nat; + +void +_initialize_sparc_sol2_nat (void) +{ + struct target_ops *t; + + t = procfs_target (); +#ifdef NEW_PROC_API /* Solaris 6 and above can do HW watchpoints. */ + procfs_use_watchpoints (t); +#endif + add_target (t); }