WIP FPC-III support
[linux/fpc-iii.git] / tools / objtool / cfi.h
blobc7c59c6a44eeacaeff9f0338bf6af83d5476e9f0
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3 * Copyright (C) 2015-2017 Josh Poimboeuf <jpoimboe@redhat.com>
4 */
6 #ifndef _OBJTOOL_CFI_H
7 #define _OBJTOOL_CFI_H
9 #include "cfi_regs.h"
11 #define CFI_UNDEFINED -1
12 #define CFI_CFA -2
13 #define CFI_SP_INDIRECT -3
14 #define CFI_BP_INDIRECT -4
16 struct cfi_reg {
17 int base;
18 int offset;
21 struct cfi_init_state {
22 struct cfi_reg regs[CFI_NUM_REGS];
23 struct cfi_reg cfa;
26 struct cfi_state {
27 struct cfi_reg regs[CFI_NUM_REGS];
28 struct cfi_reg vals[CFI_NUM_REGS];
29 struct cfi_reg cfa;
30 int stack_size;
31 int drap_reg, drap_offset;
32 unsigned char type;
33 bool bp_scratch;
34 bool drap;
35 bool end;
38 #endif /* _OBJTOOL_CFI_H */