frame.h 504 B

123456789101112131415161718192021222324252627
  1. #ifdef __ASSEMBLY__
  2. #include <asm/dwarf2.h>
  3. /* The annotation hides the frame from the unwinder and makes it look
  4. like a ordinary ebp save/restore. This avoids some special cases for
  5. frame pointer later */
  6. #ifdef CONFIG_FRAME_POINTER
  7. .macro FRAME
  8. pushl %ebp
  9. CFI_ADJUST_CFA_OFFSET 4
  10. CFI_REL_OFFSET ebp,0
  11. movl %esp,%ebp
  12. .endm
  13. .macro ENDFRAME
  14. popl %ebp
  15. CFI_ADJUST_CFA_OFFSET -4
  16. CFI_RESTORE ebp
  17. .endm
  18. #else
  19. .macro FRAME
  20. .endm
  21. .macro ENDFRAME
  22. .endm
  23. #endif
  24. #endif /* __ASSEMBLY__ */