blob: 35061530e46e8dac222d7364b04c93a02e439d17 [file] [log] [blame]
Thomas Gleixner1ccea772019-05-19 15:51:43 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Josh Poimboeuf442f04c2016-02-28 22:22:41 -06002/*
3 * Copyright (C) 2015 Josh Poimboeuf <jpoimboe@redhat.com>
Josh Poimboeuf442f04c2016-02-28 22:22:41 -06004 */
5
6#ifndef _SPECIAL_H
7#define _SPECIAL_H
8
9#include <stdbool.h>
10#include "elf.h"
11
12struct special_alt {
13 struct list_head list;
14
15 bool group;
16 bool skip_orig;
Peter Zijlstraea242132019-02-25 12:50:09 +010017 bool skip_alt;
Josh Poimboeuf442f04c2016-02-28 22:22:41 -060018 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
29int special_get_alts(struct elf *elf, struct list_head *alts);
30
31#endif /* _SPECIAL_H */