diff options
author | peter <peter@FreeBSD.org> | 2003-12-05 01:36:44 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-12-05 01:36:44 +0000 |
commit | b339dae7c21edaa29991d8155aea2eae2979820c (patch) | |
tree | ead4c3d249a6ae029feb046a2af69191e974848f /lib/libkse | |
parent | a6ef4bf45a2916ba87eaefa05d9bf34139c360c2 (diff) | |
download | FreeBSD-src-b339dae7c21edaa29991d8155aea2eae2979820c.zip FreeBSD-src-b339dae7c21edaa29991d8155aea2eae2979820c.tar.gz |
"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.
This was one of the things that broke on libkse with apps that use
floating point/varargs/etc.
Approved by: re (scottl)
Diffstat (limited to 'lib/libkse')
0 files changed, 0 insertions, 0 deletions