GDB (xrefs)
Loading...
Searching...
No Matches
gdb
amd64-windows-nat.c
Go to the documentation of this file.
1
/* Copyright (C) 2008-2023 Free Software Foundation, Inc.
2
3
This file is part of GDB.
4
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation; either version 3 of the License, or
8
(at your option) any later version.
9
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18
#include "
defs.h
"
19
#include "
windows-nat.h
"
20
#include "
x86-nat.h
"
21
#include "
amd64-tdep.h
"
22
23
#include <windows.h>
24
25
#define context_offset(x) (offsetof (CONTEXT, x))
26
const
int
amd64_mappings
[] =
27
{
28
context_offset
(Rax),
29
context_offset
(Rbx),
30
context_offset
(Rcx),
31
context_offset
(Rdx),
32
context_offset
(Rsi),
33
context_offset
(Rdi),
34
context_offset
(Rbp),
35
context_offset
(Rsp),
36
context_offset
(R8),
37
context_offset
(R9),
38
context_offset
(R10),
39
context_offset
(R11),
40
context_offset
(R12),
41
context_offset
(R13),
42
context_offset
(R14),
43
context_offset
(R15),
44
context_offset
(Rip),
45
context_offset
(EFlags),
46
context_offset
(SegCs),
47
context_offset
(SegSs),
48
context_offset
(SegDs),
49
context_offset
(SegEs),
50
context_offset
(SegFs),
51
context_offset
(SegGs),
52
context_offset
(FloatSave.FloatRegisters[0]),
53
context_offset
(FloatSave.FloatRegisters[1]),
54
context_offset
(FloatSave.FloatRegisters[2]),
55
context_offset
(FloatSave.FloatRegisters[3]),
56
context_offset
(FloatSave.FloatRegisters[4]),
57
context_offset
(FloatSave.FloatRegisters[5]),
58
context_offset
(FloatSave.FloatRegisters[6]),
59
context_offset
(FloatSave.FloatRegisters[7]),
60
context_offset
(FloatSave.ControlWord),
61
context_offset
(FloatSave.StatusWord),
62
context_offset
(FloatSave.TagWord),
63
context_offset
(FloatSave.ErrorSelector),
64
context_offset
(FloatSave.ErrorOffset),
65
context_offset
(FloatSave.DataSelector),
66
context_offset
(FloatSave.DataOffset),
67
context_offset
(FloatSave.ErrorSelector)
68
/* XMM0-7 */
,
69
context_offset
(Xmm0),
70
context_offset
(Xmm1),
71
context_offset
(Xmm2),
72
context_offset
(Xmm3),
73
context_offset
(Xmm4),
74
context_offset
(Xmm5),
75
context_offset
(Xmm6),
76
context_offset
(Xmm7),
77
context_offset
(Xmm8),
78
context_offset
(Xmm9),
79
context_offset
(Xmm10),
80
context_offset
(Xmm11),
81
context_offset
(Xmm12),
82
context_offset
(Xmm13),
83
context_offset
(Xmm14),
84
context_offset
(Xmm15),
85
/* MXCSR */
86
context_offset
(FloatSave.MxCsr)
87
};
88
#undef context_offset
89
90
/* segment_register_p_ftype implementation for amd64. */
91
92
int
93
amd64_windows_segment_register_p
(
int
regnum
)
94
{
95
return
regnum
>=
AMD64_CS_REGNUM
&&
regnum
<=
AMD64_GS_REGNUM
;
96
}
97
98
void
_initialize_amd64_windows_nat
();
99
void
100
_initialize_amd64_windows_nat
()
101
{
102
x86_set_debug_register_length
(8);
103
}
regnum
int regnum
Definition
aarch64-tdep.c:76
amd64-tdep.h
AMD64_CS_REGNUM
@ AMD64_CS_REGNUM
Definition
amd64-tdep.h:53
AMD64_GS_REGNUM
@ AMD64_GS_REGNUM
Definition
amd64-tdep.h:58
amd64_mappings
const int amd64_mappings[]
Definition
amd64-windows-nat.c:26
_initialize_amd64_windows_nat
void _initialize_amd64_windows_nat()
Definition
amd64-windows-nat.c:100
context_offset
#define context_offset(x)
Definition
amd64-windows-nat.c:25
amd64_windows_segment_register_p
int amd64_windows_segment_register_p(int regnum)
Definition
amd64-windows-nat.c:93
defs.h
windows-nat.h
x86_set_debug_register_length
void x86_set_debug_register_length(int len)
Definition
x86-nat.c:236
x86-nat.h
Generated by
1.10.0