2007-10-18 00:04:38 +08:00
|
|
|
#ifdef __ASSEMBLY__
|
|
|
|
|
2006-09-26 16:52:29 +08:00
|
|
|
#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
|
2007-10-18 00:04:38 +08:00
|
|
|
|
|
|
|
#endif /* __ASSEMBLY__ */
|