GDB (xrefs)
/tmp/gdb-8.1/gdb/amd64-linux-tdep.h
Go to the documentation of this file.
1 /* Target-dependent code for GNU/Linux AMD64.
2 
3  Copyright (C) 2006-2018 Free Software Foundation, Inc.
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
9  the Free Software Foundation; either version 3 of the License, or
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
18  along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 
20 #ifndef AMD64_LINUX_TDEP_H
21 #define AMD64_LINUX_TDEP_H
22 
23 /* Like for i386 GNU/Linux, there is an extra "register"
24  used to control syscall restarting. */
25 
26 /* Register number for the "orig_rax" register. If this register
27  contains a value >= 0 it is interpreted as the system call number
28  that the kernel is supposed to restart. */
29 #define AMD64_LINUX_ORIG_RAX_REGNUM (AMD64_GSBASE_REGNUM + 1)
30 
31 /* Total number of registers for GNU/Linux. */
32 #define AMD64_LINUX_NUM_REGS (AMD64_LINUX_ORIG_RAX_REGNUM + 1)
33 
34 /* Linux target description. */
35 extern struct target_desc *tdesc_amd64_linux;
36 extern struct target_desc *tdesc_amd64_avx_linux;
37 extern struct target_desc *tdesc_amd64_mpx_linux;
41 
42 extern struct target_desc *tdesc_x32_linux;
43 extern struct target_desc *tdesc_x32_avx_linux;
45 
46 /* Return the right amd64-linux target descriptions according to
47  XCR0_FEATURES_BIT and IS_X32. */
48 
49 const target_desc *amd64_linux_read_description (uint64_t xcr0_features_bit,
50  bool is_x32);
51 
52 /* Enum that defines the syscall identifiers for amd64 linux.
53  Used for process record/replay, these will be translated into
54  a gdb-canonical set of syscall ids in linux-record.c. */
55 
323 };
324 
325 /* Enum that defines the syscall identifiers for x32 linux.
326  Used for process record/replay, these will be translated into
327  a gdb-canonical set of syscall ids in linux-record.c. */
328 
330  amd64_x32_syscall_bit = 0x40000000,
603 };
604 
605 #endif /* amd64-linux-tdep.h */
struct target_desc * tdesc_amd64_avx_avx512_linux
amd64_syscall
struct target_desc * tdesc_amd64_mpx_linux
struct target_desc * tdesc_x32_linux
struct target_desc * tdesc_amd64_linux
amd64_x32_syscall
struct target_desc * tdesc_x32_avx_linux
struct target_desc * tdesc_amd64_avx_mpx_avx512_pku_linux
struct target_desc * tdesc_amd64_avx_linux
const target_desc * amd64_linux_read_description(uint64_t xcr0_features_bit, bool is_x32)
struct target_desc * tdesc_amd64_avx_mpx_linux
struct target_desc * tdesc_x32_avx_avx512_linux