#ifdef __ASSEMBLY__ #include <asm/asm.h> #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 __ASM_SIZE(push,_cfi) %__ASM_REG(bp) CFI_REL_OFFSET __ASM_REG(bp), 0 __ASM_SIZE(mov) %__ASM_REG(sp), %__ASM_REG(bp) .endm .macro ENDFRAME __ASM_SIZE(pop,_cfi) %__ASM_REG(bp) CFI_RESTORE __ASM_REG(bp) .endm #else .macro FRAME .endm .macro ENDFRAME .endm #endif #endif /* __ASSEMBLY__ */