]> git.ipfire.org Git - thirdparty/openssl.git/blobdiff - crypto/async/arch/async_posix.h
Use USE_SWAPCONTEXT on IA64.
[thirdparty/openssl.git] / crypto / async / arch / async_posix.h
index ab7637f69e767608f9aaf5e547dd753dff2bb652..eeb7774512281dfa911f6572ce848dbdce54a690 100644 (file)
 #  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