Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc/arch/i386/gen Update stack frame allocation for XMM...



details:   https://anonhg.NetBSD.org/src/rev/bc53db99f377
branches:  trunk
changeset: 542321:bc53db99f377
user:      kleink <kleink%NetBSD.org@localhost>
date:      Sun Jan 26 18:14:03 2003 +0000

description:
Update stack frame allocation for XMM state having been added to
mcontext_t; spotted by Frank van der Linden.
While here, also align the on-stack ucontext as required.

diffstat:

 lib/libc/arch/i386/gen/resumecontext.S |  11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diffs (39 lines):

diff -r 103e733548b8 -r bc53db99f377 lib/libc/arch/i386/gen/resumecontext.S
--- a/lib/libc/arch/i386/gen/resumecontext.S    Sun Jan 26 17:58:55 2003 +0000
+++ b/lib/libc/arch/i386/gen/resumecontext.S    Sun Jan 26 18:14:03 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: resumecontext.S,v 1.3 2003/01/26 16:22:01 fvdl Exp $   */
+/*     $NetBSD: resumecontext.S,v 1.4 2003/01/26 18:14:03 kleink Exp $ */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -39,7 +39,7 @@
 #include <machine/asm.h>
 
 #if defined(LIBC_SCCS) && !defined(lint)
-       RCSID("$NetBSD: resumecontext.S,v 1.3 2003/01/26 16:22:01 fvdl Exp $")
+       RCSID("$NetBSD: resumecontext.S,v 1.4 2003/01/26 18:14:03 kleink Exp $")
 #endif /* LIBC_SCCS && !lint */
 
 /*
@@ -49,8 +49,9 @@
  */
 
 NENTRY(_resumecontext) /* profiling prologue would clobber TOS */
-       subl    $(4 + 512),%esp
-       movl    %esp,%ecx
+       leal    -(4 + 776)(%esp),%ecx   /* retaddr + sizeof (ucontext_t) */
+       andl    $~(0xf),%ecx            /* align on _UC_UCONTEXT_ALIGN */
+       movl    %ecx,%esp
        PIC_PROLOGUE
        pushl   %ecx
 #ifdef PIC
@@ -60,7 +61,7 @@
 #endif
        addl    $4,%esp
        PIC_EPILOGUE
-       movl    4(%esp),%ecx
+       movl    4(%esp),%ecx            /* uc_link */
        PIC_PROLOGUE
        pushl   %ecx
 #ifdef PIC



Home | Main Index | Thread Index | Old Index