1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Copyright (C) 2017 Josh Poimboeuf <jpoimboe@redhat.com>
15 unsigned int uaccess_stack
;
23 struct list_head list
;
24 struct hlist_node hash
;
29 unsigned long immediate
;
30 bool dead_end
, ignore
, ignore_alts
;
37 struct symbol
*call_dest
;
38 struct instruction
*jump_dest
;
39 struct instruction
*first_jump_src
;
40 struct reloc
*jump_table
;
41 struct list_head alts
;
43 struct list_head stack_ops
;
48 struct instruction
*find_insn(struct objtool_file
*file
,
49 struct section
*sec
, unsigned long offset
);
51 #define for_each_insn(file, insn) \
52 list_for_each_entry(insn, &file->insn_list, list)
54 #define sec_for_each_insn(file, sec, insn) \
55 for (insn = find_insn(file, sec, 0); \
56 insn && &insn->list != &file->insn_list && \
58 insn = list_next_entry(insn, list))