Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
frame.h
Go to the documentation of this file.
1 #ifdef __ASSEMBLY__
2 
3 #include <asm/asm.h>
4 #include <asm/dwarf2.h>
5 
6 /* The annotation hides the frame from the unwinder and makes it look
7  like a ordinary ebp save/restore. This avoids some special cases for
8  frame pointer later */
9 #ifdef CONFIG_FRAME_POINTER
10  .macro FRAME
11  __ASM_SIZE(push,_cfi) %__ASM_REG(bp)
13  __ASM_SIZE(mov) %__ASM_REG(sp), %__ASM_REG(bp)
14  .endm
15  .macro ENDFRAME
16  __ASM_SIZE(pop,_cfi) %__ASM_REG(bp)
17  CFI_RESTORE __ASM_REG(bp)
18  .endm
19 #else
20  .macro FRAME
21  .endm
22  .macro ENDFRAME
23  .endm
24 #endif
25 
26 #endif /* __ASSEMBLY__ */