Thomas Gleixner | 1ccea77 | 2019-05-19 15:51:43 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
Josh Poimboeuf | 442f04c | 2016-02-28 22:22:41 -0600 | [diff] [blame] | 2 | /* |
| 3 | * Copyright (C) 2015 Josh Poimboeuf <jpoimboe@redhat.com> |
Josh Poimboeuf | 442f04c | 2016-02-28 22:22:41 -0600 | [diff] [blame] | 4 | */ |
| 5 | |
| 6 | #ifndef _SPECIAL_H |
| 7 | #define _SPECIAL_H |
| 8 | |
| 9 | #include <stdbool.h> |
| 10 | #include "elf.h" |
| 11 | |
| 12 | struct special_alt { |
| 13 | struct list_head list; |
| 14 | |
| 15 | bool group; |
| 16 | bool skip_orig; |
Peter Zijlstra | ea24213 | 2019-02-25 12:50:09 +0100 | [diff] [blame] | 17 | bool skip_alt; |
Josh Poimboeuf | 442f04c | 2016-02-28 22:22:41 -0600 | [diff] [blame] | 18 | bool jump_or_nop; |
| 19 | |
| 20 | struct section *orig_sec; |
| 21 | unsigned long orig_off; |
| 22 | |
| 23 | struct section *new_sec; |
| 24 | unsigned long new_off; |
| 25 | |
| 26 | unsigned int orig_len, new_len; /* group only */ |
| 27 | }; |
| 28 | |
| 29 | int special_get_alts(struct elf *elf, struct list_head *alts); |
| 30 | |
| 31 | #endif /* _SPECIAL_H */ |