GDBserver
x32-linux.c
Go to the documentation of this file.
1 /* *INDENT-OFF* */ /* THIS FILE IS GENERATED */
2 
3 /* A register protocol for GDB, the GNU debugger.
4  Copyright (C) 2001-2013 Free Software Foundation, Inc.
5 
6  This file is part of GDB.
7 
8  This program is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 
21 /* This file was created with the aid of ``regdat.sh'' and ``./../regformats/i386/x32-linux.dat''. */
22 
23 #include "server.h"
24 #include "regdef.h"
25 #include "tdesc.h"
26 
27 static struct reg regs_x32_linux[] = {
28  { "rax", 0, 64 },
29  { "rbx", 64, 64 },
30  { "rcx", 128, 64 },
31  { "rdx", 192, 64 },
32  { "rsi", 256, 64 },
33  { "rdi", 320, 64 },
34  { "rbp", 384, 64 },
35  { "rsp", 448, 64 },
36  { "r8", 512, 64 },
37  { "r9", 576, 64 },
38  { "r10", 640, 64 },
39  { "r11", 704, 64 },
40  { "r12", 768, 64 },
41  { "r13", 832, 64 },
42  { "r14", 896, 64 },
43  { "r15", 960, 64 },
44  { "rip", 1024, 64 },
45  { "eflags", 1088, 32 },
46  { "cs", 1120, 32 },
47  { "ss", 1152, 32 },
48  { "ds", 1184, 32 },
49  { "es", 1216, 32 },
50  { "fs", 1248, 32 },
51  { "gs", 1280, 32 },
52  { "st0", 1312, 80 },
53  { "st1", 1392, 80 },
54  { "st2", 1472, 80 },
55  { "st3", 1552, 80 },
56  { "st4", 1632, 80 },
57  { "st5", 1712, 80 },
58  { "st6", 1792, 80 },
59  { "st7", 1872, 80 },
60  { "fctrl", 1952, 32 },
61  { "fstat", 1984, 32 },
62  { "ftag", 2016, 32 },
63  { "fiseg", 2048, 32 },
64  { "fioff", 2080, 32 },
65  { "foseg", 2112, 32 },
66  { "fooff", 2144, 32 },
67  { "fop", 2176, 32 },
68  { "xmm0", 2208, 128 },
69  { "xmm1", 2336, 128 },
70  { "xmm2", 2464, 128 },
71  { "xmm3", 2592, 128 },
72  { "xmm4", 2720, 128 },
73  { "xmm5", 2848, 128 },
74  { "xmm6", 2976, 128 },
75  { "xmm7", 3104, 128 },
76  { "xmm8", 3232, 128 },
77  { "xmm9", 3360, 128 },
78  { "xmm10", 3488, 128 },
79  { "xmm11", 3616, 128 },
80  { "xmm12", 3744, 128 },
81  { "xmm13", 3872, 128 },
82  { "xmm14", 4000, 128 },
83  { "xmm15", 4128, 128 },
84  { "mxcsr", 4256, 32 },
85  { "orig_rax", 4288, 64 },
86 };
87 
88 static const char *expedite_regs_x32_linux[] = { "rbp", "rsp", "rip", 0 };
89 static const char *xmltarget_x32_linux = "x32-linux.xml";
90 
92 
93 void
95 {
96  static struct target_desc tdesc_x32_linux_s;
97  struct target_desc *result = &tdesc_x32_linux_s;
98 
99  result->reg_defs = regs_x32_linux;
100  result->num_registers = sizeof (regs_x32_linux) / sizeof (regs_x32_linux[0]);
102  result->xmltarget = xmltarget_x32_linux;
103 
104  init_target_desc (result);
105 
106  tdesc_x32_linux = result;
107 }
static const char * expedite_regs_x32_linux[]
Definition: x32-linux.c:88
const char ** expedite_regs
Definition: tdesc.h:41
static const char * xmltarget_x32_linux
Definition: x32-linux.c:89
const char * xmltarget
Definition: tdesc.h:47
static struct reg regs_x32_linux[]
Definition: x32-linux.c:27
void init_registers_x32_linux(void)
Definition: x32-linux.c:94
int num_registers
Definition: tdesc.h:34
void init_target_desc(struct target_desc *tdesc)
Definition: tdesc.c:23
const struct target_desc * tdesc_x32_linux
Definition: x32-linux.c:91
struct reg * reg_defs
Definition: tdesc.h:30