diff --git a/src/lwp/lwp.c b/src/lwp/lwp.c index 3e438e8bd1..856934377f 100644 --- a/src/lwp/lwp.c +++ b/src/lwp/lwp.c @@ -350,7 +350,7 @@ int LWP_CreateProcess(ep, stacksize, priority, parm, name, pid) #ifdef __hp9000s800 savecontext(Create_Process_Part2, &temp2->context, stackptr+MINFRAME); #else -#if defined(AFS_SGI62_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) +#if defined(AFS_SGI62_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) || defined(AFS_PARISC_LINUX24_ENV) /* Need to have the sp on an 8-byte boundary for storing doubles. */ savecontext(Create_Process_Part2, &temp2->context, stackptr+stacksize-16); /* 16 = 2 * jmp_buf_type*/ @@ -492,7 +492,7 @@ int LWP_DestroyProcess(pid) /* destroy a lightweight process */ savecontext(Dispatcher, &(temp -> context), &(LWPANCHOR.dsptchstack[MINFRAME])); #else -#if defined(AFS_SGI62_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) +#if defined(AFS_SGI62_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) || defined(AFS_PARISC_LINUX24_ENV) savecontext(Dispatcher, &(temp -> context), &(LWPANCHOR.dsptchstack[(sizeof LWPANCHOR.dsptchstack)-8])); #else diff --git a/src/lwp/process.c b/src/lwp/process.c index a2977fece3..71eebdf523 100644 --- a/src/lwp/process.c +++ b/src/lwp/process.c @@ -109,7 +109,9 @@ struct lwp_context *savearea; #define LWP_SP 8 #define LWP_FP 7 #elif defined(AFS_PARISC_LINUX24_ENV) -#define LWP_SP 19 +#define LWP_SP 19*2 + /* really 19 when structure is double, but requires too many changes + below to make a double work */ #else #error Unsupported linux LWP system type. #endif