Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 2003 20:46:04 -0500 (EST)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Peter Wemm <peter@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/lib/libc/amd64/gen makecontext.c
Message-ID:  <Pine.GSO.4.10.10312042042001.1477-100000@pcnet5.pcnet.com>
In-Reply-To: <200312050136.hB51aibO068399@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 4 Dec 2003, Peter Wemm wrote:

> peter       2003/12/04 17:36:44 PST
> 
>   FreeBSD src repository
> 
>   Modified files:
>     lib/libc/amd64/gen   makecontext.c 
>   Log:
>   "Fix" makecontext() so that the C code begins execution with its
>   ABI-required stack alignment.  C code expects that the push of the
>   return address disturbed the 16 byte alignment and it will take corrective
>   measures to fix it before making another call.  Of course, if its wrong
>   to start with, then all hell breaks loose.  Essentially we "fix" this
>   by making the stack alignment odd to start with.

Hey, you didn't include this little bit of knowledge in your amd64 "notes"
that you sent me ;-)

>   This was one of the things that broke on libkse with apps that use
>   floating point/varargs/etc.

I guess we never hit this problem with the tests (ACE) that we ran
on sledge...





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10312042042001.1477-100000>