#ifdef __ASSEMBLY__ | |
#include <asm/dwarf2.h> | |
/* The annotation hides the frame from the unwinder and makes it look | |
like a ordinary ebp save/restore. This avoids some special cases for | |
frame pointer later */ | |
#ifdef CONFIG_FRAME_POINTER | |
.macro FRAME | |
pushl %ebp | |
CFI_ADJUST_CFA_OFFSET 4 | |
CFI_REL_OFFSET ebp,0 | |
movl %esp,%ebp | |
.endm | |
.macro ENDFRAME | |
popl %ebp | |
CFI_ADJUST_CFA_OFFSET -4 | |
CFI_RESTORE ebp | |
.endm | |
#else | |
.macro FRAME | |
.endm | |
.macro ENDFRAME | |
.endm | |
#endif | |
#endif /* __ASSEMBLY__ */ |