OLD | NEW |
1 /* Machine independent variables that describe the core file under GDB. | 1 /* Machine independent variables that describe the core file under GDB. |
2 | 2 |
3 Copyright (C) 1986-1987, 1989-2001, 2004, 2007-2012 Free Software | 3 Copyright (C) 1986-2013 Free Software Foundation, Inc. |
4 Foundation, Inc. | |
5 | 4 |
6 This file is part of GDB. | 5 This file is part of GDB. |
7 | 6 |
8 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 |
9 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 |
10 the Free Software Foundation; either version 3 of the License, or | 9 the Free Software Foundation; either version 3 of the License, or |
11 (at your option) any later version. | 10 (at your option) any later version. |
12 | 11 |
13 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, |
14 but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 GNU General Public License for more details. | 15 GNU General Public License for more details. |
17 | 16 |
18 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 |
19 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/>. */ |
20 | 19 |
21 /* Interface routines for core, executable, etc. */ | 20 /* Interface routines for core, executable, etc. */ |
22 | 21 |
23 #if !defined (GDBCORE_H) | 22 #if !defined (GDBCORE_H) |
24 #define GDBCORE_H 1 | 23 #define GDBCORE_H 1 |
25 | 24 |
26 struct type; | 25 struct type; |
27 struct regcache; | 26 struct regcache; |
28 | 27 |
29 #include "bfd.h" | 28 #include "bfd.h" |
30 #include "exec.h" | 29 #include "exec.h" |
| 30 #include "target.h" |
31 | 31 |
32 /* Return the name of the executable file as a string. | 32 /* Return the name of the executable file as a string. |
33 ERR nonzero means get error if there is none specified; | 33 ERR nonzero means get error if there is none specified; |
34 otherwise return 0 in that case. */ | 34 otherwise return 0 in that case. */ |
35 | 35 |
36 extern char *get_exec_file (int err); | 36 extern char *get_exec_file (int err); |
37 | 37 |
38 /* Nonzero if there is a core file. */ | 38 /* Nonzero if there is a core file. */ |
39 | 39 |
40 extern int have_core_file_p (void); | 40 extern int have_core_file_p (void); |
41 | 41 |
42 /* Report a memory error with error(). */ | 42 /* Report a memory error with error(). */ |
43 | 43 |
44 extern void memory_error (int status, CORE_ADDR memaddr); | 44 extern void memory_error (enum target_xfer_error status, CORE_ADDR memaddr); |
| 45 |
| 46 /* The string 'memory_error' would use as exception message. Space |
| 47 for the result is malloc'd, caller must free. */ |
| 48 |
| 49 extern char *memory_error_message (enum target_xfer_error err, |
| 50 » » » » struct gdbarch *gdbarch, CORE_ADDR memaddr); |
45 | 51 |
46 /* Like target_read_memory, but report an error if can't read. */ | 52 /* Like target_read_memory, but report an error if can't read. */ |
47 | 53 |
48 extern void read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len); | 54 extern void read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len); |
49 | 55 |
50 /* Like target_read_stack, but report an error if can't read. */ | 56 /* Like target_read_stack, but report an error if can't read. */ |
51 | 57 |
52 extern void read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len); | 58 extern void read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len); |
53 | 59 |
| 60 /* Like target_read_code, but report an error if can't read. */ |
| 61 |
| 62 extern void read_code (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len); |
| 63 |
54 /* Read an integer from debugged memory, given address and number of | 64 /* Read an integer from debugged memory, given address and number of |
55 bytes. */ | 65 bytes. */ |
56 | 66 |
57 extern LONGEST read_memory_integer (CORE_ADDR memaddr, | 67 extern LONGEST read_memory_integer (CORE_ADDR memaddr, |
58 int len, enum bfd_endian byte_order); | 68 int len, enum bfd_endian byte_order); |
59 extern int safe_read_memory_integer (CORE_ADDR memaddr, int len, | 69 extern int safe_read_memory_integer (CORE_ADDR memaddr, int len, |
60 enum bfd_endian byte_order, | 70 enum bfd_endian byte_order, |
61 LONGEST *return_value); | 71 LONGEST *return_value); |
62 | 72 |
63 /* Read an unsigned integer from debugged memory, given address and | 73 /* Read an unsigned integer from debugged memory, given address and |
64 number of bytes. */ | 74 number of bytes. */ |
65 | 75 |
66 extern ULONGEST read_memory_unsigned_integer (CORE_ADDR memaddr, | 76 extern ULONGEST read_memory_unsigned_integer (CORE_ADDR memaddr, |
67 int len, | 77 int len, |
68 enum bfd_endian byte_order); | 78 enum bfd_endian byte_order); |
69 | 79 |
| 80 /* Read an integer from debugged code memory, given address, |
| 81 number of bytes, and byte order for code. */ |
| 82 |
| 83 extern LONGEST read_code_integer (CORE_ADDR memaddr, int len, |
| 84 enum bfd_endian byte_order); |
| 85 |
| 86 /* Read an unsigned integer from debugged code memory, given address, |
| 87 number of bytes, and byte order for code. */ |
| 88 |
| 89 extern ULONGEST read_code_unsigned_integer (CORE_ADDR memaddr, |
| 90 int len, |
| 91 enum bfd_endian byte_order); |
| 92 |
70 /* Read a null-terminated string from the debuggee's memory, given | 93 /* Read a null-terminated string from the debuggee's memory, given |
71 address, a buffer into which to place the string, and the maximum | 94 address, a buffer into which to place the string, and the maximum |
72 available space. */ | 95 available space. */ |
73 | 96 |
74 extern void read_memory_string (CORE_ADDR, char *, int); | 97 extern void read_memory_string (CORE_ADDR, char *, int); |
75 | 98 |
76 /* Read the pointer of type TYPE at ADDR, and return the address it | 99 /* Read the pointer of type TYPE at ADDR, and return the address it |
77 represents. */ | 100 represents. */ |
78 | 101 |
79 CORE_ADDR read_memory_typed_address (CORE_ADDR addr, struct type *type); | 102 CORE_ADDR read_memory_typed_address (CORE_ADDR addr, struct type *type); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 | 226 |
204 /* NOTE: cagney/2004-04-05: Replaced by "regset.h" and | 227 /* NOTE: cagney/2004-04-05: Replaced by "regset.h" and |
205 regset_from_core_section(). */ | 228 regset_from_core_section(). */ |
206 extern void deprecated_add_core_fns (struct core_fns *cf); | 229 extern void deprecated_add_core_fns (struct core_fns *cf); |
207 extern int default_core_sniffer (struct core_fns *cf, bfd * abfd); | 230 extern int default_core_sniffer (struct core_fns *cf, bfd * abfd); |
208 extern int default_check_format (bfd * abfd); | 231 extern int default_check_format (bfd * abfd); |
209 | 232 |
210 struct target_section *deprecated_core_resize_section_table (int num_added); | 233 struct target_section *deprecated_core_resize_section_table (int num_added); |
211 | 234 |
212 #endif /* !defined (GDBCORE_H) */ | 235 #endif /* !defined (GDBCORE_H) */ |
OLD | NEW |