diff options
Diffstat (limited to 'crypto/async/arch/async_posix.h')
-rw-r--r-- | crypto/async/arch/async_posix.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/async/arch/async_posix.h b/crypto/async/arch/async_posix.h index ab7637f69e..eeb7774512 100644 --- a/crypto/async/arch/async_posix.h +++ b/crypto/async/arch/async_posix.h @@ -25,12 +25,14 @@ # define ASYNC_POSIX # define ASYNC_ARCH -# ifdef __CET__ +# if defined(__CET__) || defined(__ia64__) /* * When Intel CET is enabled, makecontext will create a different * shadow stack for each context. async_fibre_swapcontext cannot * use _longjmp. It must call swapcontext to swap shadow stack as * well as normal stack. + * On IA64 the register stack engine is not saved across setjmp/longjmp. Here + * swapcontext() performs correctly. */ # define USE_SWAPCONTEXT # endif |