Andi Kleen | ecaf45e | 2006-09-26 10:52:29 +0200 | [diff] [blame] | 1 | #include <asm/dwarf2.h> |
2 | |||||
3 | /* The annotation hides the frame from the unwinder and makes it look | ||||
4 | like a ordinary ebp save/restore. This avoids some special cases for | ||||
5 | frame pointer later */ | ||||
6 | #ifdef CONFIG_FRAME_POINTER | ||||
7 | .macro FRAME | ||||
8 | pushl %ebp | ||||
9 | CFI_ADJUST_CFA_OFFSET 4 | ||||
10 | CFI_REL_OFFSET ebp,0 | ||||
11 | movl %esp,%ebp | ||||
12 | .endm | ||||
13 | .macro ENDFRAME | ||||
14 | popl %ebp | ||||
15 | CFI_ADJUST_CFA_OFFSET -4 | ||||
16 | CFI_RESTORE ebp | ||||
17 | .endm | ||||
18 | #else | ||||
19 | .macro FRAME | ||||
20 | .endm | ||||
21 | .macro ENDFRAME | ||||
22 | .endm | ||||
23 | #endif |