| 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 | ||||