linux/tools/objtool/include/objtool/cfi.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * Copyright (C) 2015-2017 Josh Poimboeuf <jpoimboe@redhat.com>
   4 */
   5
   6#ifndef _OBJTOOL_CFI_H
   7#define _OBJTOOL_CFI_H
   8
   9#include <arch/cfi_regs.h>
  10
  11#define CFI_UNDEFINED           -1
  12#define CFI_CFA                 -2
  13#define CFI_SP_INDIRECT         -3
  14#define CFI_BP_INDIRECT         -4
  15
  16struct cfi_reg {
  17        int base;
  18        int offset;
  19};
  20
  21struct cfi_init_state {
  22        struct cfi_reg regs[CFI_NUM_REGS];
  23        struct cfi_reg cfa;
  24};
  25
  26struct 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;
  36};
  37
  38#endif /* _OBJTOOL_CFI_H */
  39