gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / amd64-nbsd-nat.c
CommitLineData
cced5e27
MK
1/* Native-dependent code for NetBSD/amd64.
2
b811d2c2 3 Copyright (C) 2003-2020 Free Software Foundation, Inc.
cced5e27
MK
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
cced5e27
MK
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
cced5e27
MK
19
20#include "defs.h"
4de283e4 21#include "target.h"
cced5e27 22
4de283e4
TT
23#include "nbsd-nat.h"
24#include "amd64-tdep.h"
f6ac5f3d 25#include "amd64-bsd-nat.h"
cced5e27
MK
26#include "amd64-nat.h"
27
28/* Mapping between the general-purpose registers in NetBSD/amd64
29 `struct reg' format and GDB's register cache layout for
30 NetBSD/i386.
31
32 Note that most (if not all) NetBSD/amd64 registers are 64-bit,
33 while the NetBSD/i386 registers are all 32-bit, but since we're
34 little-endian we get away with that. */
35
36/* From <machine/reg.h>. */
37static int amd64nbsd32_r_reg_offset[] =
38{
39 14 * 8, /* %eax */
40 3 * 8, /* %ecx */
41 2 * 8, /* %edx */
42 13 * 8, /* %ebx */
43 24 * 8, /* %esp */
44 12 * 8, /* %ebp */
45 1 * 8, /* %esi */
46 0 * 8, /* %edi */
47 21 * 8, /* %eip */
48 23 * 8, /* %eflags */
af233647
MK
49 22 * 8, /* %cs */
50 25 * 8, /* %ss */
cced5e27
MK
51 18 * 8, /* %ds */
52 17 * 8, /* %es */
53 16 * 8, /* %fs */
54 15 * 8 /* %gs */
55};
cced5e27 56
f6ac5f3d
PA
57static amd64_bsd_nat_target<nbsd_nat_target> the_amd64_nbsd_nat_target;
58
6c265988 59void _initialize_amd64nbsd_nat ();
cced5e27 60void
6c265988 61_initialize_amd64nbsd_nat ()
cced5e27
MK
62{
63 amd64_native_gregset32_reg_offset = amd64nbsd32_r_reg_offset;
64 amd64_native_gregset32_num_regs = ARRAY_SIZE (amd64nbsd32_r_reg_offset);
65 amd64_native_gregset64_reg_offset = amd64nbsd_r_reg_offset;
6a5c78a3 66
d9f719f1 67 add_inf_child_target (&the_amd64_nbsd_nat_target);
cced5e27 68}
This page took 0.955036 seconds and 4 git commands to generate.