2086edb799
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
|
||
---|---|---|
.. | ||
alpha-mont.pl | ||
armv4-gf2m.pl | ||
armv4-mont.pl | ||
armv8-mont.pl | ||
bn-586.pl | ||
bn-c64xplus.asm | ||
c64xplus-gf2m.pl | ||
co-586.pl | ||
ia64-mont.pl | ||
ia64.S | ||
mips-mont.pl | ||
mips.pl | ||
parisc-mont.pl | ||
ppc-mont.pl | ||
ppc.pl | ||
ppc64-mont.pl | ||
rsaz-avx2.pl | ||
rsaz-x86_64.pl | ||
s390x-gf2m.pl | ||
s390x-mont.pl | ||
s390x.S | ||
sparct4-mont.pl | ||
sparcv8.S | ||
sparcv8plus.S | ||
sparcv9-gf2m.pl | ||
sparcv9-mont.pl | ||
sparcv9a-mont.pl | ||
via-mont.pl | ||
vis3-mont.pl | ||
x86-gf2m.pl | ||
x86-mont.pl | ||
x86_64-gcc.c | ||
x86_64-gf2m.pl | ||
x86_64-mont.pl | ||
x86_64-mont5.pl |