From 9cc2fa71c5fa68ceab0c6cb75bad7fe24eb5aefc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 21 Jan 2005 22:02:49 +0000 Subject: [PATCH] The top-level stack frame now clears %ebp to mark the end. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10939 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/arch/x86/arch_x86.S | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/kernel/core/arch/x86/arch_x86.S b/src/kernel/core/arch/x86/arch_x86.S index 64ae9715f3..0a0338e42b 100755 --- a/src/kernel/core/arch/x86/arch_x86.S +++ b/src/kernel/core/arch/x86/arch_x86.S @@ -121,7 +121,8 @@ _copy_more: movl %edx,-8(%ebx) // args2 movl %ebx,-12(%ebx) // fake return address to copied exit stub sub $12,%ebx - + xorl %ebp, %ebp // this is the last stack frame - we don't need one on return + // (%ebp marks the beginning of this stack frame) pushl $USER_DATA_SEG // user data segment pushl %ebx // user stack pushl $(1 << 9) | 2 // user flags @@ -176,7 +177,7 @@ FUNCTION(arch_dbg_save_registers): pushfl popl %eax - mov %eax, 36(%esi) + movl %eax, 36(%esi) movl %cs, 40(%esi) movl %ss, 44(%esi)