(lwpNewContext) [MAKECONTEXT_SP_HIGH]: Work around makecontext()

lossage.
(IRIX5CFLAGS, SOLCFLAGS): Define MAKECONTEXT_SP_HIGH.  This is wrong
for Solaris 10.
This commit is contained in:
Markus Armbruster 2005-12-11 08:18:15 +00:00
parent 588329ab35
commit 72f4cef34f
2 changed files with 10 additions and 2 deletions

View file

@ -79,6 +79,13 @@ lwpNewContext(struct lwpProc *newp, int stacksz)
}
newp->context.uc_stack.ss_sp = newp->ustack;
newp->context.uc_stack.ss_size = newp->usize;
#ifdef MAKECONTEXT_SP_HIGH
/*
* Known systems that are broken that way: Solaris prior to 10,
* IRIX.
*/
newp->context.uc_stack.ss_sp += stacksz - 8;
#endif
newp->context.uc_stack.ss_flags = 0;
newp->context.uc_link = NULL;
makecontext(&newp->context, lwpEntryPoint, 0);