GDB (xrefs)
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
/tmp/gdb-7.10/gdb/frv-tdep.h
Go to the documentation of this file.
1
/* Architecture-dependent code for the Fujitsu FR-V, for GDB, the GNU Debugger.
2
Copyright (C) 2004-2015 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
/* Enumerate the possible ABIs for FR-V. */
20
enum
frv_abi
21
{
22
FRV_ABI_EABI
,
23
FRV_ABI_FDPIC
24
};
25
26
/* Register numbers. The order in which these appear define the
27
remote protocol, so take care in changing them. */
28
enum
{
29
/* Register numbers 0 -- 63 are always reserved for general-purpose
30
registers. The chip at hand may have less. */
31
first_gpr_regnum
= 0,
32
sp_regnum
= 1,
33
fp_regnum
= 2,
34
struct_return_regnum
= 3,
35
last_gpr_regnum
= 63,
36
37
/* Register numbers 64 -- 127 are always reserved for floating-point
38
registers. The chip at hand may have less. */
39
first_fpr_regnum
= 64,
40
last_fpr_regnum
= 127,
41
42
/* The PC register. */
43
pc_regnum
= 128,
44
45
/* Register numbers 129 on up are always reserved for special-purpose
46
registers. */
47
first_spr_regnum
= 129,
48
psr_regnum
= 129,
49
ccr_regnum
= 130,
50
cccr_regnum
= 131,
51
fdpic_loadmap_exec_regnum
= 132,
52
fdpic_loadmap_interp_regnum
= 133,
53
tbr_regnum
= 135,
54
brr_regnum
= 136,
55
dbar0_regnum
= 137,
56
dbar1_regnum
= 138,
57
dbar2_regnum
= 139,
58
dbar3_regnum
= 140,
59
scr0_regnum
= 141,
60
scr1_regnum
= 142,
61
scr2_regnum
= 143,
62
scr3_regnum
= 144,
63
lr_regnum
= 145,
64
lcr_regnum
= 146,
65
iacc0h_regnum
= 147,
66
iacc0l_regnum
= 148,
67
fsr0_regnum
= 149,
68
acc0_regnum
= 150,
69
acc7_regnum
= 157,
70
accg0123_regnum
= 158,
71
accg4567_regnum
= 159,
72
msr0_regnum
= 160,
73
msr1_regnum
= 161,
74
gner0_regnum
= 162,
75
gner1_regnum
= 163,
76
fner0_regnum
= 164,
77
fner1_regnum
= 165,
78
last_spr_regnum
= 165,
79
80
/* The total number of registers we know exist. */
81
frv_num_regs
=
last_spr_regnum
+ 1,
82
83
/* Pseudo registers */
84
first_pseudo_regnum
=
frv_num_regs
,
85
86
/* iacc0 - the 64-bit concatenation of iacc0h and iacc0l. */
87
iacc0_regnum
=
first_pseudo_regnum
+ 0,
88
accg0_regnum
=
first_pseudo_regnum
+ 1,
89
accg7_regnum
=
accg0_regnum
+ 7,
90
91
last_pseudo_regnum
=
accg7_regnum
,
92
frv_num_pseudo_regs
=
last_pseudo_regnum
-
first_pseudo_regnum
+ 1,
93
};
94
95
/* Return the FR-V ABI associated with GDBARCH. */
96
enum
frv_abi
frv_abi
(
struct
gdbarch
*
gdbarch
);
97
98
/* Fetch the interpreter and executable loadmap addresses (for shared
99
library support) for the FDPIC ABI. Return 0 if successful, -1 if
100
not. (E.g, -1 will be returned if the ABI isn't the FDPIC ABI.) */
101
int
frv_fdpic_loadmap_addresses
(
struct
gdbarch
*
gdbarch
,
102
CORE_ADDR
*interp_addr,
CORE_ADDR
*exec_addr);
103
104
/* Given a function entry point, find and return the GOT address for the
105
containing load module. */
106
CORE_ADDR
frv_fdpic_find_global_pointer
(
CORE_ADDR
addr);
107
108
/* Given a function entry point, find and return the canonical descriptor
109
for that function, if one exists. If no canonical descriptor could
110
be found, return 0. */
111
CORE_ADDR
frv_fdpic_find_canonical_descriptor
(
CORE_ADDR
entry_point);
112
113
114
/* Given an objfile, return the address of its link map. This value is
115
needed for TLS support. */
116
CORE_ADDR
frv_fetch_objfile_link_map
(
struct
objfile
*
objfile
);
117
118
struct
target_so_ops
;
119
extern
struct
target_so_ops
frv_so_ops
;
120
gdbarch
Definition:
gdbarch.c:118
tbr_regnum
Definition:
frv-tdep.h:53
accg0_regnum
Definition:
frv-tdep.h:88
pc_regnum
Definition:
frv-tdep.h:43
scr3_regnum
Definition:
frv-tdep.h:62
first_pseudo_regnum
Definition:
frv-tdep.h:84
CORE_ADDR
bfd_vma CORE_ADDR
Definition:
common-types.h:41
fdpic_loadmap_interp_regnum
Definition:
frv-tdep.h:52
dbar2_regnum
Definition:
frv-tdep.h:57
fsr0_regnum
Definition:
frv-tdep.h:67
acc7_regnum
Definition:
frv-tdep.h:69
dbar0_regnum
Definition:
frv-tdep.h:55
cccr_regnum
Definition:
frv-tdep.h:50
frv_fdpic_find_global_pointer
CORE_ADDR frv_fdpic_find_global_pointer(CORE_ADDR addr)
Definition:
solib-frv.c:937
first_gpr_regnum
Definition:
frv-tdep.h:31
target_so_ops
Definition:
solist.h:80
last_pseudo_regnum
Definition:
frv-tdep.h:91
frv_abi
frv_abi
Definition:
frv-tdep.h:20
dbar1_regnum
Definition:
frv-tdep.h:56
gner1_regnum
Definition:
frv-tdep.h:75
accg4567_regnum
Definition:
frv-tdep.h:71
scr1_regnum
Definition:
frv-tdep.h:60
lcr_regnum
Definition:
frv-tdep.h:64
frv_fdpic_loadmap_addresses
int frv_fdpic_loadmap_addresses(struct gdbarch *gdbarch, CORE_ADDR *interp_addr, CORE_ADDR *exec_addr)
Definition:
frv-tdep.c:104
last_fpr_regnum
Definition:
frv-tdep.h:40
iacc0l_regnum
Definition:
frv-tdep.h:66
FRV_ABI_EABI
Definition:
frv-tdep.h:22
sp_regnum
Definition:
frv-tdep.h:32
struct_return_regnum
Definition:
frv-tdep.h:34
dbar3_regnum
Definition:
frv-tdep.h:58
frv_fetch_objfile_link_map
CORE_ADDR frv_fetch_objfile_link_map(struct objfile *objfile)
Definition:
solib-frv.c:1145
accg0123_regnum
Definition:
frv-tdep.h:70
lr_regnum
Definition:
frv-tdep.h:63
acc0_regnum
Definition:
frv-tdep.h:68
first_spr_regnum
Definition:
frv-tdep.h:47
gner0_regnum
Definition:
frv-tdep.h:74
fner1_regnum
Definition:
frv-tdep.h:77
fp_regnum
Definition:
frv-tdep.h:33
objfile
Definition:
objfiles.h:259
last_spr_regnum
Definition:
frv-tdep.h:78
ccr_regnum
Definition:
frv-tdep.h:49
iacc0h_regnum
Definition:
frv-tdep.h:65
iacc0_regnum
Definition:
frv-tdep.h:87
fdpic_loadmap_exec_regnum
Definition:
frv-tdep.h:51
FRV_ABI_FDPIC
Definition:
frv-tdep.h:23
frv_fdpic_find_canonical_descriptor
CORE_ADDR frv_fdpic_find_canonical_descriptor(CORE_ADDR entry_point)
Definition:
solib-frv.c:973
msr0_regnum
Definition:
frv-tdep.h:72
frv_so_ops
struct target_so_ops frv_so_ops
Definition:
solib-frv.c:1169
psr_regnum
Definition:
frv-tdep.h:48
fner0_regnum
Definition:
frv-tdep.h:76
scr0_regnum
Definition:
frv-tdep.h:59
last_gpr_regnum
Definition:
frv-tdep.h:35
msr1_regnum
Definition:
frv-tdep.h:73
frv_num_regs
Definition:
frv-tdep.h:81
frv_num_pseudo_regs
Definition:
frv-tdep.h:92
accg7_regnum
Definition:
frv-tdep.h:89
first_fpr_regnum
Definition:
frv-tdep.h:39
scr2_regnum
Definition:
frv-tdep.h:61
brr_regnum
Definition:
frv-tdep.h:54
Generated by
1.8.10