OLD | NEW |
1 /* GNU/Linux/x86-64 specific low level interface, for the remote server | 1 /* GNU/Linux/x86-64 specific low level interface, for the remote server |
2 for GDB. | 2 for GDB. |
3 Copyright (C) 2002, 2004-2012 Free Software Foundation, Inc. | 3 Copyright (C) 2002, 2004-2012 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GDB. | 5 This file is part of GDB. |
6 | 6 |
7 This program is free software; you can redistribute it and/or modify | 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 | 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 | 9 the Free Software Foundation; either version 3 of the License, or |
10 (at your option) any later version. | 10 (at your option) any later version. |
11 | 11 |
12 This program is distributed in the hope that it will be useful, | 12 This program is distributed in the hope that it will be useful, |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 GNU General Public License for more details. | 15 GNU General Public License for more details. |
16 | 16 |
17 You should have received a copy of the GNU General Public License | 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/>. */ | 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
19 | 19 |
20 #include <stddef.h> | 20 #include <stddef.h> |
21 #include <signal.h> | 21 #include <signal.h> |
22 #include <limits.h> | 22 #include <limits.h> |
| 23 #include <inttypes.h> |
23 #include "server.h" | 24 #include "server.h" |
24 #include "linux-low.h" | 25 #include "linux-low.h" |
25 #include "i387-fp.h" | 26 #include "i387-fp.h" |
26 #include "i386-low.h" | 27 #include "i386-low.h" |
27 #include "i386-xstate.h" | 28 #include "i386-xstate.h" |
28 #include "elf/common.h" | 29 #include "elf/common.h" |
29 | 30 |
30 #include "gdb_proc_service.h" | 31 #include "gdb_proc_service.h" |
| 32 #include "agent.h" |
31 | 33 |
32 /* Defined in auto-generated file i386-linux.c. */ | 34 /* Defined in auto-generated file i386-linux.c. */ |
33 void init_registers_i386_linux (void); | 35 void init_registers_i386_linux (void); |
34 /* Defined in auto-generated file amd64-linux.c. */ | 36 /* Defined in auto-generated file amd64-linux.c. */ |
35 void init_registers_amd64_linux (void); | 37 void init_registers_amd64_linux (void); |
36 /* Defined in auto-generated file i386-avx-linux.c. */ | 38 /* Defined in auto-generated file i386-avx-linux.c. */ |
37 void init_registers_i386_avx_linux (void); | 39 void init_registers_i386_avx_linux (void); |
38 /* Defined in auto-generated file amd64-avx-linux.c. */ | 40 /* Defined in auto-generated file amd64-avx-linux.c. */ |
39 void init_registers_amd64_avx_linux (void); | 41 void init_registers_amd64_avx_linux (void); |
40 /* Defined in auto-generated file i386-mmx-linux.c. */ | 42 /* Defined in auto-generated file i386-mmx-linux.c. */ |
41 void init_registers_i386_mmx_linux (void); | 43 void init_registers_i386_mmx_linux (void); |
| 44 /* Defined in auto-generated file x32-linux.c. */ |
| 45 void init_registers_x32_linux (void); |
| 46 /* Defined in auto-generated file x32-avx-linux.c. */ |
| 47 void init_registers_x32_avx_linux (void); |
42 | 48 |
43 static unsigned char jump_insn[] = { 0xe9, 0, 0, 0, 0 }; | 49 static unsigned char jump_insn[] = { 0xe9, 0, 0, 0, 0 }; |
44 static unsigned char small_jump_insn[] = { 0x66, 0xe9, 0, 0 }; | 50 static unsigned char small_jump_insn[] = { 0x66, 0xe9, 0, 0 }; |
45 | 51 |
46 /* Backward compatibility for gdb without XML support. */ | 52 /* Backward compatibility for gdb without XML support. */ |
47 | 53 |
48 static const char *xmltarget_i386_linux_no_xml = "@<target>\ | 54 static const char *xmltarget_i386_linux_no_xml = "@<target>\ |
49 <architecture>i386</architecture>\ | 55 <architecture>i386</architecture>\ |
50 <osabi>GNU/Linux</osabi>\ | 56 <osabi>GNU/Linux</osabi>\ |
51 </target>"; | 57 </target>"; |
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 /* Called when a new thread is detected. */ | 650 /* Called when a new thread is detected. */ |
645 | 651 |
646 static struct arch_lwp_info * | 652 static struct arch_lwp_info * |
647 x86_linux_new_thread (void) | 653 x86_linux_new_thread (void) |
648 { | 654 { |
649 struct arch_lwp_info *info = xcalloc (1, sizeof (*info)); | 655 struct arch_lwp_info *info = xcalloc (1, sizeof (*info)); |
650 | 656 |
651 info->debug_registers_changed = 1; | 657 info->debug_registers_changed = 1; |
652 | 658 |
653 return info; | 659 return info; |
error: old chunk mismatch |
None
OLD | NEW |