Home | History | Annotate | Download | only in asm-x86
      1 #ifndef _DWARF2_H
      2 #define _DWARF2_H
      3 
      4 #ifndef __ASSEMBLY__
      5 #warning "asm/dwarf2.h should be only included in pure assembly files"
      6 #endif
      7 
      8 /*
      9    Macros for dwarf2 CFI unwind table entries.
     10    See "as.info" for details on these pseudo ops. Unfortunately
     11    they are only supported in very new binutils, so define them
     12    away for older version.
     13  */
     14 
     15 #ifdef CONFIG_UNWIND_INFO
     16 
     17 #define CFI_STARTPROC .cfi_startproc
     18 #define CFI_ENDPROC .cfi_endproc
     19 #define CFI_DEF_CFA .cfi_def_cfa
     20 #define CFI_DEF_CFA_REGISTER .cfi_def_cfa_register
     21 #define CFI_DEF_CFA_OFFSET .cfi_def_cfa_offset
     22 #define CFI_ADJUST_CFA_OFFSET .cfi_adjust_cfa_offset
     23 #define CFI_OFFSET .cfi_offset
     24 #define CFI_REL_OFFSET .cfi_rel_offset
     25 #define CFI_REGISTER .cfi_register
     26 #define CFI_RESTORE .cfi_restore
     27 #define CFI_REMEMBER_STATE .cfi_remember_state
     28 #define CFI_RESTORE_STATE .cfi_restore_state
     29 #define CFI_UNDEFINED .cfi_undefined
     30 
     31 #ifdef CONFIG_AS_CFI_SIGNAL_FRAME
     32 #define CFI_SIGNAL_FRAME .cfi_signal_frame
     33 #else
     34 #define CFI_SIGNAL_FRAME
     35 #endif
     36 
     37 #else
     38 
     39 /* Due to the structure of pre-exisiting code, don't use assembler line
     40    comment character # to ignore the arguments. Instead, use a dummy macro. */
     41 .macro ignore a=0, b=0, c=0, d=0
     42 .endm
     43 
     44 #define CFI_STARTPROC	ignore
     45 #define CFI_ENDPROC	ignore
     46 #define CFI_DEF_CFA	ignore
     47 #define CFI_DEF_CFA_REGISTER	ignore
     48 #define CFI_DEF_CFA_OFFSET	ignore
     49 #define CFI_ADJUST_CFA_OFFSET	ignore
     50 #define CFI_OFFSET	ignore
     51 #define CFI_REL_OFFSET	ignore
     52 #define CFI_REGISTER	ignore
     53 #define CFI_RESTORE	ignore
     54 #define CFI_REMEMBER_STATE ignore
     55 #define CFI_RESTORE_STATE ignore
     56 #define CFI_UNDEFINED ignore
     57 #define CFI_SIGNAL_FRAME ignore
     58 
     59 #endif
     60 
     61 #endif
     62