author | jenny.yung@oracle.com <jenny.yung@oracle.com> |
Wed, 02 Dec 2015 16:35:50 -0800 | |
changeset 5143 | 9b4a483bf8d9 |
parent 1511 | 4d3b0b480760 |
child 6420 | 65948e9e205b |
permissions | -rw-r--r-- |
1511
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
--- /dev/null 2013-10-06 14:14:47.000000000 -0700 |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
+++ gdb-7.6/gdb/sol2-core-regset.c 2013-10-06 13:55:51.348498600 -0700 |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
@@ -0,0 +1,147 @@ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
+/* Machine dependent GDB support for core files on Solaris using "regsets". |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
+ Copyright (C) 2013 Free Software Foundation, Inc. |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
+ This file is part of GDB. |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
+ This program is free software; you can redistribute it and/or modify |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
+ it under the terms of the GNU General Public License as published by |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
+ the Free Software Foundation; either version 3 of the License, or |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
+ (at your option) any later version. |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
+ This program is distributed in the hope that it will be useful, |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
+ GNU General Public License for more details. |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
+ You should have received a copy of the GNU General Public License |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
+/* This file is used by Solaris core dumps. The Solaris /proc filesystem |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
+ * will yield different sizes for prgregset_t prfpregset_t depending |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
+ * on sizeof(void*). We handle these differences in this Solaris-specific |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
+ * core-regset.c file, as opposed to imposing all these Solaris particulars |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+ * on everyone else. |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
+ */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
+#include "defs.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
+#include "command.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
+#include "gdbcore.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
+#include "gdbarch.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
+#include "inferior.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
+#include "target.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
+#include "regcache.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
+#include "elf-bfd.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
+#include <fcntl.h> |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
+#include <errno.h> |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
+#include "gdb_string.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
+#include <time.h> |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
+#ifdef HAVE_SYS_PROCFS_H |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
+#include <sys/procfs.h> |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
+#endif |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
+/* Prototypes for supply_gregset etc. */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
+#include "gregset.h" |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
+/* Provide registers to GDB from a core file. |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
+ CORE_REG_SECT points to an array of bytes, which are the contents |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
+ of a `note' from a core file which BFD thinks might contain |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
+ register contents. CORE_REG_SIZE is its size. |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
+ WHICH says which register set corelow suspects this is: |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
+ 0 --- the general-purpose register set, in gregset_t format |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
+ 2 --- the floating-point register set, in fpregset_t format |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
+ REG_ADDR is ignored. */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
+static void |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
+fetch_core_registers (struct regcache *regcache, |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
+ char *core_reg_sect, |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
+ unsigned core_reg_size, |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
+ int which, |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
+ CORE_ADDR reg_addr) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
+{ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
+ gdb_gregset_t gregset; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
+ gdb_fpregset_t fpregset; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
+ gdb_gregset_t *gregset_p = &gregset; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
+ gdb_fpregset_t *fpregset_p = &fpregset; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
+ /* use default sizes on 64-bit Solaris */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
+ size_t gregset_size = sizeof (gregset); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
+ size_t fpregset_size = sizeof (fpregset); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
+ int pointer_size; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
+ struct gdbarch *gdbarch = get_regcache_arch (regcache); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
+ enum bfd_endian byte_order; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
+ if (gdbarch_osabi (gdbarch) == GDB_OSABI_SOLARIS) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
+ { |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
+ set_regcache_from_corefile (regcache); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
+ byte_order = gdbarch_byte_order (gdbarch); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
+ pointer_size = gdbarch_ptr_bit (gdbarch); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
+ if ((byte_order == BFD_ENDIAN_BIG) && (pointer_size == 32)) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
+ { |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
+ gregset_size = 152; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
+ fpregset_size = 144; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
+ } |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
+ else if ((byte_order == BFD_ENDIAN_LITTLE) && (pointer_size == 32)) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
+ { |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
+ gregset_size = 76; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
+ fpregset_size = 380; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
+ } |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
+ } |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
+ switch (which) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
+ { |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
+ case 0: |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
+ if (core_reg_size != gregset_size) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
+ warning (_("Wrong size gregset in core file.")); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
+ else |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
+ { |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
+ memcpy (&gregset, core_reg_sect, gregset_size); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
+ supply_gregset (regcache, (const gdb_gregset_t *) gregset_p); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
+ } |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
+ break; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
+ case 2: |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
+ if (core_reg_size != fpregset_size) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
+ warning (_("Wrong size fpregset in core file.")); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
+ else |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
+ { |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
+ memcpy (&fpregset, core_reg_sect, fpregset_size); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
+ if (gdbarch_fp0_regnum (get_regcache_arch (regcache)) >= 0) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
+ supply_fpregset (regcache, |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
+ (const gdb_fpregset_t *) fpregset_p); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
+ } |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
+ break; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
+ default: |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
+ /* We've covered all the kinds of registers we know about here, |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
+ so this must be something we wouldn't know what to do with |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
+ anyway. Just ignore it. */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
+ break; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
+ } |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
+} |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
+/* Register that we are able to handle ELF core file formats using |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
+ standard procfs "regset" structures. */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
+static struct core_fns regset_core_fns = |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
+{ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
+ bfd_target_elf_flavour, /* core_flavour */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
+ default_check_format, /* check_format */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
+ default_core_sniffer, /* core_sniffer */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
+ fetch_core_registers, /* core_read_registers */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
+ NULL /* next */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
+}; |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
+/* Provide a prototype to silence -Wmissing-prototypes. */ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
+extern void _initialize_core_regset (void); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
+ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
+void |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
+_initialize_core_regset (void) |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
+{ |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
+ deprecated_add_core_fns (®set_core_fns); |
4d3b0b480760
17086418 upgrade gdb to 7.6
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
+} |