--with-threads=ucontext portability (was Re: [stunnel-users] stunnel4.x.x and IRIX)
Michal.Trojnara at mobi-com.net
Tue Jan 31 10:41:37 CET 2006
Miloslav Trmac wrote:
> I have just seen a crash at a similar place on x86_64. The
> apparent cause is sthreads.c:116:
> makecontext(&ctx->ctx, (void(*)(void))cli, 1, arg); arg
> is a void *, but:
> - the size is given as 1; it should be
> (sizeof (arg) + sizeof (int) - 1) / sizeof (int)
> because the "size" is defined as a number of int arguments
> - it won't work anyway; makecontext () is defined to work only for
> integer parameters. It is not possible to pass a pointer as
> integers on x86_64, which uses registers to pass the first 6
> integer or pointer parameters.
Are we still talking about IRIX?
I can't find any of mentioned limitations in the manual.
Just the opposite: "the arguments that follow the argc parameter for
makecontext are restricted to longs and pointers only".
More information about the stunnel-users