Andi Kleen | ecaf45e | 2006-09-26 10:52:29 +0200 | [diff] [blame^] | 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 |