/src/elfutils/backends/x86_corenote.c
Line | Count | Source |
1 | | /* x86-specific core note handling, pieces common to x86-64 and i386. |
2 | | Copyright (C) 2005-2010 Red Hat, Inc. |
3 | | This file is part of elfutils. |
4 | | |
5 | | This file is free software; you can redistribute it and/or modify |
6 | | it under the terms of either |
7 | | |
8 | | * the GNU Lesser General Public License as published by the Free |
9 | | Software Foundation; either version 3 of the License, or (at |
10 | | your option) any later version |
11 | | |
12 | | or |
13 | | |
14 | | * the GNU General Public License as published by the Free |
15 | | Software Foundation; either version 2 of the License, or (at |
16 | | your option) any later version |
17 | | |
18 | | or both in parallel, as here. |
19 | | |
20 | | elfutils is distributed in the hope that it will be useful, but |
21 | | WITHOUT ANY WARRANTY; without even the implied warranty of |
22 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
23 | | General Public License for more details. |
24 | | |
25 | | You should have received copies of the GNU General Public License and |
26 | | the GNU Lesser General Public License along with this program. If |
27 | | not, see <http://www.gnu.org/licenses/>. */ |
28 | | |
29 | | #define EXTRA_NOTES_IOPERM \ |
30 | 429 | case NT_386_IOPERM: \ |
31 | 429 | return ioperm_info (nhdr->n_descsz, \ |
32 | 429 | regs_offset, nregloc, reglocs, nitems, items); |
33 | | |
34 | | static int |
35 | | ioperm_info (GElf_Word descsz, GElf_Word *regs_offset, |
36 | | size_t *nregloc, const Ebl_Register_Location **reglocs, |
37 | | size_t *nitems, const Ebl_Core_Item **items) |
38 | 429 | { |
39 | 429 | static const Ebl_Core_Item ioperm_item = |
40 | 429 | { .type = ELF_T_WORD, .format = 'b', .name = "ioperm" }; |
41 | | |
42 | 429 | if (descsz % 4 != 0) |
43 | 205 | return 0; |
44 | | |
45 | 224 | *regs_offset = 0; |
46 | 224 | *nregloc = 0; |
47 | | *reglocs = NULL; |
48 | 224 | *nitems = 1; |
49 | 224 | *items = &ioperm_item; |
50 | 224 | return 1; |
51 | 429 | } i386_corenote.c:ioperm_info Line | Count | Source | 38 | 146 | { | 39 | 146 | static const Ebl_Core_Item ioperm_item = | 40 | 146 | { .type = ELF_T_WORD, .format = 'b', .name = "ioperm" }; | 41 | | | 42 | 146 | if (descsz % 4 != 0) | 43 | 66 | return 0; | 44 | | | 45 | 80 | *regs_offset = 0; | 46 | 80 | *nregloc = 0; | 47 | | *reglocs = NULL; | 48 | 80 | *nitems = 1; | 49 | 80 | *items = &ioperm_item; | 50 | 80 | return 1; | 51 | 146 | } |
x86_64_corenote.c:ioperm_info Line | Count | Source | 38 | 112 | { | 39 | 112 | static const Ebl_Core_Item ioperm_item = | 40 | 112 | { .type = ELF_T_WORD, .format = 'b', .name = "ioperm" }; | 41 | | | 42 | 112 | if (descsz % 4 != 0) | 43 | 73 | return 0; | 44 | | | 45 | 39 | *regs_offset = 0; | 46 | 39 | *nregloc = 0; | 47 | | *reglocs = NULL; | 48 | 39 | *nitems = 1; | 49 | 39 | *items = &ioperm_item; | 50 | 39 | return 1; | 51 | 112 | } |
x32_corenote.c:ioperm_info Line | Count | Source | 38 | 171 | { | 39 | 171 | static const Ebl_Core_Item ioperm_item = | 40 | 171 | { .type = ELF_T_WORD, .format = 'b', .name = "ioperm" }; | 41 | | | 42 | 171 | if (descsz % 4 != 0) | 43 | 66 | return 0; | 44 | | | 45 | 105 | *regs_offset = 0; | 46 | 105 | *nregloc = 0; | 47 | | *reglocs = NULL; | 48 | 105 | *nitems = 1; | 49 | 105 | *items = &ioperm_item; | 50 | 105 | return 1; | 51 | 171 | } |
|