summary refs log tree commit diff
path: root/include/asm-x86/frame.i
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86/frame.i')
-rw-r--r--include/asm-x86/frame.i23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/asm-x86/frame.i b/include/asm-x86/frame.i
new file mode 100644
index 000000000000..03620251ae17
--- /dev/null
+++ b/include/asm-x86/frame.i
@@ -0,0 +1,23 @@
+#include <asm/dwarf2.h>
+
+/* The annotation hides the frame from the unwinder and makes it look
+   like a ordinary ebp save/restore. This avoids some special cases for
+   frame pointer later */
+#ifdef CONFIG_FRAME_POINTER
+	.macro FRAME
+	pushl %ebp
+	CFI_ADJUST_CFA_OFFSET 4
+	CFI_REL_OFFSET ebp,0
+	movl %esp,%ebp
+	.endm
+	.macro ENDFRAME
+	popl %ebp
+	CFI_ADJUST_CFA_OFFSET -4
+	CFI_RESTORE ebp
+	.endm
+#else
+	.macro FRAME
+	.endm
+	.macro ENDFRAME
+	.endm
+#endif