On Mon, May 11, 2020 at 10:35:12AM -0700, Matt Helsley wrote:
> +struct insn_state {
> +     struct cfi_reg cfa;
> +     struct cfi_reg regs[CFI_NUM_REGS];
> +     int stack_size;
> +     unsigned char type;
> +     bool bp_scratch;
> +     bool drap, end, uaccess, df;
> +     bool noinstr;
> +     s8 instr;
> +     unsigned int uaccess_stack;
> +     int drap_reg, drap_offset;
> +     struct cfi_reg vals[CFI_NUM_REGS];
> +};
> +
> +struct instruction {
> +     struct list_head list;
> +     struct hlist_node hash;
> +     struct section *sec;
> +     unsigned long offset;
> +     unsigned int len;
> +     enum insn_type type;
> +     unsigned long immediate;
> +     bool alt_group, dead_end, ignore, hint, save, restore, ignore_alts;
> +     bool retpoline_safe;
> +     s8 instr;
> +     u8 visited;
> +     struct symbol *call_dest;
> +     struct instruction *jump_dest;
> +     struct instruction *first_jump_src;
> +     struct rela *jump_table;
> +     struct list_head alts;
> +     struct symbol *func;
> +     struct stack_op stack_op;
> +     struct insn_state state;
> +     struct orc_entry orc;
> +};

Why were these moved to arch.h?  They're not necessarily arch-specific,
but rather "check"-specific, so I think they still belong in check.h, if
possible.

-- 
Josh

Reply via email to