openssl/crypto/ec/asm
David Benjamin 2086edb799 Fix some CFI issues in x86_64 assembly
The add/double shortcut in ecp_nistz256-x86_64.pl left one instruction
point that did not unwind, and the "slow" path in AES_cbc_encrypt was
not annotated correctly. For the latter, add
.cfi_{remember,restore}_state support to perlasm.

Next, fill in a bunch of functions that are missing no-op .cfi_startproc
and .cfi_endproc blocks. libunwind cannot unwind those stack frames
otherwise.

Finally, work around a bug in libunwind by not encoding rflags. (rflags
isn't a callee-saved register, so there's not much need to annotate it
anyway.)

These were found as part of ABI testing work in BoringSSL.

Reviewed-by: Richard Levitte <levitte@openssl.org>
GH: #8109
(cherry picked from commit c0e8e5007b)
2019-02-17 23:41:11 +01:00
..
ecp_nistz256-armv4.pl ec/asm/ecp_nistz256-{!x86_64}.pl: fix scatter_w7 function. 2018-07-22 15:21:44 +02:00
ecp_nistz256-armv8.pl AArch64 assembly pack: authenticate return addresses. 2019-02-13 02:39:27 +01:00
ecp_nistz256-avx2.pl Update copyright year 2018-06-20 15:29:23 +01:00
ecp_nistz256-ppc64.pl Update copyright year 2018-09-11 13:45:17 +01:00
ecp_nistz256-sparcv9.pl Update copyright year 2018-09-11 13:45:17 +01:00
ecp_nistz256-x86.pl Update copyright year 2018-09-11 13:45:17 +01:00
ecp_nistz256-x86_64.pl Fix some CFI issues in x86_64 assembly 2019-02-17 23:41:11 +01:00
x25519-ppc64.pl Add ec/asm/x25519-ppc64.pl module. 2018-07-26 14:01:49 +02:00
x25519-x86_64.pl Fix typo in x25519-x86_64.pl 2018-07-17 10:20:45 -04:00