openssl/crypto/bn/asm
David Benjamin c0e8e5007b 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
2019-02-17 23:39:51 +01:00
..
alpha-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
armv4-gf2m.pl ARM assembly pack: make it Windows-friendly. 2019-02-16 16:59:23 +01:00
armv4-mont.pl ARM assembly pack: make it Windows-friendly. 2019-02-16 16:59:23 +01:00
armv8-mont.pl ARM64 assembly pack: make it Windows-friendly. 2019-02-16 17:01:15 +01:00
bn-586.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
bn-c64xplus.asm Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
c64xplus-gf2m.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
co-586.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
ia64-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
ia64.S Remove unnecessary trailing whitespace 2019-02-05 16:25:11 +01:00
mips-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
mips.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
parisc-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
ppc64-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
ppc-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
ppc.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
rsaz-avx2.pl Fix some CFI issues in x86_64 assembly 2019-02-17 23:39:51 +01:00
rsaz-x86_64.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
s390x-gf2m.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
s390x-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
s390x.S Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
sparct4-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
sparcv8.S Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
sparcv8plus.S Remove unnecessary trailing whitespace 2019-02-05 16:25:11 +01:00
sparcv9-gf2m.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
sparcv9-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
sparcv9a-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
via-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
vis3-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
x86_64-gcc.c Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
x86_64-gf2m.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
x86_64-mont5.pl Fix some CFI issues in x86_64 assembly 2019-02-17 23:39:51 +01:00
x86_64-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
x86-gf2m.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00
x86-mont.pl Following the license change, modify the boilerplates in crypto/bn/ 2018-12-06 14:31:21 +01:00