aarch64: Fix async_fibre_swapcontext() on clang BTI builds
authorTom Cosgrove <tom.cosgrove@arm.com>
Mon, 14 Feb 2022 11:23:57 +0000 (11:23 +0000)
committerPauli <pauli@openssl.org>
Mon, 28 Feb 2022 22:52:25 +0000 (09:52 +1100)
commitf5ec705d4ad15767204f301d96d9bfd447b66c24
treeb768a3e7070d1c1995471d5c56b36c265889d112
parentf609d9464e198e4cd93bc15e47a073b478bdd42e
aarch64: Fix async_fibre_swapcontext() on clang BTI builds

Reverting to using swapcontext() when compiling with clang on BTI-enabled
builds fixes the BTI setjmp() failure seen when running asynctest.

The issue with setjmp/longjmp is a known clang bug: see
https://github.com/llvm/llvm-project/issues/48888

Change-Id: I6eeaaa2e15f402789f1b3e742038f84bef846e29

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17698)

(cherry picked from commit d2d2401aed7ff45f4c013201944e1218dce12da7)
crypto/async/arch/async_posix.h