xref: /openbmc/linux/arch/x86/include/asm/frame.h (revision 1fa6ac37)
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