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