GDB (xrefs)

/tmp/gdb-8.1/gdb/sparc-linux-nat.c
Go to the documentation of this file.
1 /* Native-dependent code for GNU/Linux SPARC.
2 Copyright (C) 2005-2018 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
18
19 #include "defs.h"
20 #include "regcache.h"
21
22 #include <sys/procfs.h>
23 #include "gregset.h"
24
25 #include "sparc-tdep.h"
26 #include "sparc-nat.h"
27 #include "inferior.h"
28 #include "target.h"
29 #include "linux-nat.h"
30
31 void
32 supply_gregset (struct regcache *regcache, const prgregset_t *gregs)
33 {
34 sparc32_supply_gregset (sparc_gregmap, regcache, -1, gregs);
35 }
36
37 void
38 supply_fpregset (struct regcache *regcache, const prfpregset_t *fpregs)
39 {
40 sparc32_supply_fpregset (sparc_fpregmap, regcache, -1, fpregs);
41 }
42
43 void
44 fill_gregset (const struct regcache *regcache, prgregset_t *gregs, int regnum)
45 {
46 sparc32_collect_gregset (sparc_gregmap, regcache, regnum, gregs);
47 }
48
49 void
50 fill_fpregset (const struct regcache *regcache,
51 prfpregset_t *fpregs, int regnum)
52 {
53 sparc32_collect_fpregset (sparc_fpregmap, regcache, regnum, fpregs);
54 }
55
56 void
57 _initialize_sparc_linux_nat (void)
58 {
59 struct target_ops *t;
60
61 /* Fill in the generic GNU/Linux methods. */
62 t = linux_target ();
63
64 sparc_fpregmap = &sparc32_bsd_fpregmap;
65
66 /* Add our register access methods. */
67 t->to_fetch_registers = sparc_fetch_inferior_registers;
68 t->to_store_registers = sparc_store_inferior_registers;
69
70 /* Register the target. */
71 linux_nat_add_target (t);
72 }
fill_gregset
void fill_gregset(const struct regcache *regcache, prgregset_t *gregs, int regnum)
Definition: sparc-linux-nat.c:44
fill_fpregset
void fill_fpregset(const struct regcache *regcache, prfpregset_t *fpregs, int regnum)
Definition: sparc-linux-nat.c:50
sparc32_supply_gregset
void sparc32_supply_gregset(const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs)
Definition: sparc-tdep.c:2069
sparc-nat.h
sparc_gregmap
Definition: sparc-tdep.h:37
sparc_store_inferior_registers
void sparc_store_inferior_registers(struct target_ops *ops, struct regcache *regcache, int regnum)
Definition: sparc-nat.c:190
sparc32_collect_fpregset
void sparc32_collect_fpregset(const struct sparc_fpregmap *fpregmap, const struct regcache *regcache, int regnum, void *fpregs)
Definition: sparc-tdep.c:2209
_initialize_sparc_linux_nat
void _initialize_sparc_linux_nat(void)
Definition: sparc-linux-nat.c:57
defs.h
prfpregset_t
gdb_fpregset_t prfpregset_t
Definition: gdb_proc_service.h:92
target_ops
Definition: target.h:412
regcache.h
inferior.h
sparc_fetch_inferior_registers
void sparc_fetch_inferior_registers(struct target_ops *ops, struct regcache *regcache, int regnum)
Definition: sparc-nat.c:137
sparc_fpregmap
Definition: sparc-tdep.h:50
sparc32_supply_fpregset
void sparc32_supply_fpregset(const struct sparc_fpregmap *fpregmap, struct regcache *regcache, int regnum, const void *fpregs)
Definition: sparc-tdep.c:2189
linux_nat_add_target
void linux_nat_add_target(struct target_ops *t)
Definition: linux-nat.c:4804
supply_gregset
void supply_gregset(struct regcache *regcache, const prgregset_t *gregs)
Definition: sparc-linux-nat.c:32
sparc32_collect_gregset
void sparc32_collect_gregset(const struct sparc_gregmap *gregmap, const struct regcache *regcache, int regnum, void *gregs)
Definition: sparc-tdep.c:2134
regnum
int regnum
Definition: aarch64-tdep.c:77
linux_target
struct target_ops * linux_target(void)
Definition: linux-nat.c:4377
supply_fpregset
void supply_fpregset(struct regcache *regcache, const prfpregset_t *fpregs)
Definition: sparc-linux-nat.c:38
gregset.h
sparc32_bsd_fpregmap
const struct sparc_fpregmap sparc32_bsd_fpregmap
Definition: sparc-tdep.c:2250
prgregset_t
gdb_gregset_t prgregset_t
Definition: gdb_proc_service.h:88
sparc-tdep.h
target_ops::to_fetch_registers
void(* to_fetch_registers)(struct target_ops *, struct regcache *, int) TARGET_DEFAULT_IGNORE()
Definition: target.h:457
target.h
regcache
Definition: regcache.h:232
target_ops::to_store_registers
void(* to_store_registers)(struct target_ops *, struct regcache *, int) TARGET_DEFAULT_NORETURN(noprocess())
Definition: target.h:459
linux-nat.h