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