projects
/
external
/
binutils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdb/djgpp: Add Hygon Dhyana processor support
[external/binutils.git]
/
gdb
/
sparc-sol2-nat.c
diff --git
a/gdb/sparc-sol2-nat.c
b/gdb/sparc-sol2-nat.c
index
2e0680b
..
2154381
100644
(file)
--- a/
gdb/sparc-sol2-nat.c
+++ b/
gdb/sparc-sol2-nat.c
@@
-1,12
+1,12
@@
/* Native-dependent code for Solaris SPARC.
/* Native-dependent code for Solaris SPARC.
- Copyright (C) 2003
, 2004
Free Software Foundation, Inc.
+ Copyright (C) 2003
-2019
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
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,
(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
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"
#include "defs.h"
#include "regcache.h"
@@
-26,6
+24,8
@@
#include "gregset.h"
#include "sparc-tdep.h"
#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
/* This file provids the (temporary) glue between the Solaris SPARC
target dependent code and the machine independent SVR4 /proc
@@
-40,16
+40,10
@@
PR_MODEL_LP64, we know that GDB is being compiled as a 64-bit
program.
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. */
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"
#include "sparc64-tdep.h"
@@
-58,8
+52,8
@@
#define sparc_collect_gregset sparc64_collect_gregset
#define sparc_collect_fpregset sparc64_collect_fpregset
#define sparc_collect_gregset sparc64_collect_gregset
#define sparc_collect_fpregset sparc64_collect_fpregset
-#define sparc_sol2_greg
set sparc64_sol2_gregset
-#define sparc_sol2_fpreg
set sparc64_sol2_fpregset
+#define sparc_sol2_greg
map sparc64_sol2_gregmap
+#define sparc_sol2_fpreg
map sparc64_sol2_fpregmap
#else
#else
@@
-68,31
+62,32
@@
#define sparc_collect_gregset sparc32_collect_gregset
#define sparc_collect_fpregset sparc32_collect_fpregset
#define sparc_collect_gregset sparc32_collect_gregset
#define sparc_collect_fpregset sparc32_collect_fpregset
-#define sparc_sol2_greg
set sparc32_sol2_gregset
-#define sparc_sol2_fpreg
set sparc32_sol2_fpregset
+#define sparc_sol2_greg
map sparc32_sol2_gregmap
+#define sparc_sol2_fpreg
map sparc32_sol2_fpregmap
#endif
void
#endif
void
-supply_gregset (prgregset_t *gregs)
+supply_gregset (
struct regcache *regcache, const
prgregset_t *gregs)
{
{
- sparc_supply_gregset (&sparc_sol2_greg
set, current_
regcache, -1, gregs);
+ sparc_supply_gregset (&sparc_sol2_greg
map,
regcache, -1, gregs);
}
void
}
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
}
void
-fill_gregset (prgregset_t *gregs, int regnum)
+fill_gregset (
const struct regcache *regcache,
prgregset_t *gregs, int regnum)
{
{
- sparc_collect_gregset (&sparc_sol2_greg
set, current_
regcache, regnum, gregs);
+ sparc_collect_gregset (&sparc_sol2_greg
map,
regcache, regnum, gregs);
}
void
}
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);
}
}