hurd: make function cast stronger
[deliverable/binutils-gdb.git] / gdb / sparc-sol2-nat.c
index 2e0680b3a64b10d1f2fc16b9612a663d9bf2a1b5..96fe77d2f43238ce5f6705bde018d48d7f47e809 100644 (file)
@@ -1,12 +1,12 @@
 /* Native-dependent code for Solaris SPARC.
 
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -15,9 +15,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "regcache.h"
@@ -26,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
    PR_MODEL_LP64, we know that GDB is being compiled as a 64-bit
    program.
 
-   GNU/Linux uses the same formats as Solaris for its core files (but
-   not for ptrace(2)).  The GNU/Linux headers don't define
-   PR_MODEL_NATIVE though.  Therefore we rely on the __arch64__ define
-   provided by GCC to determine the appropriate data model.
-
    Note that a 32-bit GDB won't be able to debug a 64-bit target
    process using /proc on Solaris.  */
 
-#if (defined (__arch64__) || \
-     (defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)))
+#if PR_MODEL_NATIVE == PR_MODEL_LP64
 
 #include "sparc64-tdep.h"
 
@@ -58,8 +52,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
 
 #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 (prgregset_t *gregs)
+supply_gregset (struct regcache *regcache, const prgregset_t *gregs)
 {
-  sparc_supply_gregset (&sparc_sol2_gregset, current_regcache, -1, gregs);
+  sparc_supply_gregset (&sparc_sol2_gregmap, regcache, -1, gregs);
 }
 
 void
-supply_fpregset (prfpregset_t *fpregs)
+supply_fpregset (struct regcache *regcache, const prfpregset_t *fpregs)
 {
-  sparc_supply_fpregset (current_regcache, -1, fpregs);
+  sparc_supply_fpregset (&sparc_sol2_fpregmap, regcache, -1, fpregs);
 }
 
 void
-fill_gregset (prgregset_t *gregs, int regnum)
+fill_gregset (const struct regcache *regcache, prgregset_t *gregs, int regnum)
 {
-  sparc_collect_gregset (&sparc_sol2_gregset, current_regcache, regnum, gregs);
+  sparc_collect_gregset (&sparc_sol2_gregmap, regcache, regnum, gregs);
 }
 
 void
-fill_fpregset (prfpregset_t *fpregs, int regnum)
+fill_fpregset (const struct regcache *regcache,
+              prfpregset_t *fpregs, int regnum)
 {
-  sparc_collect_fpregset (current_regcache, regnum, fpregs);
+  sparc_collect_fpregset (&sparc_sol2_fpregmap, regcache, regnum, fpregs);
 }
This page took 0.029414 seconds and 4 git commands to generate.