dwarf2.h 1.4 KB

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