diff options
author | davidxu <davidxu@FreeBSD.org> | 2006-03-10 02:54:45 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2006-03-10 02:54:45 +0000 |
commit | b36ad9d674666da7a53c97c34170d0c66950733a (patch) | |
tree | 42fed256f30a90327997140087105cc5a2ba924a | |
parent | bce91540c213fdf84da148f7eab8f61db0492d4f (diff) | |
download | FreeBSD-src-b36ad9d674666da7a53c97c34170d0c66950733a.zip FreeBSD-src-b36ad9d674666da7a53c97c34170d0c66950733a.tar.gz |
Fix stack offset to allow gcc's stack aligment code to work correctly.
MFC after: 3 days
-rw-r--r-- | sys/i386/i386/vm_machdep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c index 217ae8b..a2470de 100644 --- a/sys/i386/i386/vm_machdep.c +++ b/sys/i386/i386/vm_machdep.c @@ -464,7 +464,7 @@ cpu_set_upcall_kse(struct thread *td, void (*entry)(void *), void *arg, */ td->td_frame->tf_ebp = 0; td->td_frame->tf_esp = - (int)stack->ss_sp + stack->ss_size - 16; + (((int)stack->ss_sp + stack->ss_size - 4) & ~0x0f) - 4; td->td_frame->tf_eip = (int)entry; /* |