]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/gdbserver/tdesc.h
Fix PR remote/19840: gdb crashes on reverse-stepi
[thirdparty/binutils-gdb.git] / gdb / gdbserver / tdesc.h
CommitLineData
3aee8918 1/* Target description definitions for remote server for GDB.
618f726f 2 Copyright (C) 2012-2016 Free Software Foundation, Inc.
3aee8918
PA
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#ifndef TDESC_H
20#define TDESC_H
21
22struct reg;
23
24/* A target description. */
25
26struct target_desc
27{
28 /* An array of NUM_REGISTERS elements of register definitions that
29 describe the inferior's register set. */
30 struct reg *reg_defs;
31
32 /* The number of registers in inferior's register set (and thus in
33 the regcache). */
34 int num_registers;
35
36 /* The register cache size, in bytes. */
37 int registers_size;
38
39 /* An array of register names. These are the "expedite" registers:
40 registers whose values are sent along with stop replies. */
41 const char **expedite_regs;
42
43 /* Defines what to return when looking for the "target.xml" file in
44 response to qXfer:features:read. Its contents can either be
45 verbatim XML code (prefixed with a '@') or else the name of the
46 actual XML file to be used in place of "target.xml". */
47 const char *xmltarget;
48};
49
50/* Copy target description SRC to DEST. */
51
52void copy_target_description (struct target_desc *dest,
53 const struct target_desc *src);
54
55/* Initialize TDESC. */
56
57void init_target_desc (struct target_desc *tdesc);
58
59/* Return the current inferior's target description. Never returns
60 NULL. */
61
62const struct target_desc *current_target_desc (void);
63
64#endif /* TDESC_H */