[PATCH 00/13] x86/crypto/asm: objtool support

From: Josh Poimboeuf
Date: Wed Feb 24 2021 - 11:33:24 EST


Standardize the crypto asm to make it resemble compiler-generated code,
so that objtool can understand it.

This magically enables ORC unwinding from crypto code. It also fixes
the last known remaining objtool warnings on vmlinux.o, for LTO and
more.

Josh Poimboeuf (13):
objtool: Support asm jump tables
x86/crypto/aesni-intel_avx: Remove unused macros
x86/crypto/aesni-intel_avx: Fix register usage comments
x86/crypto/aesni-intel_avx: Standardize stack alignment prologue
x86/crypto/camellia-aesni-avx2: Unconditionally allocate stack buffer
x86/crypto/crc32c-pcl-intel: Standardize jump table
x86/crypto/sha_ni: Standardize stack alignment prologue
x86/crypto/sha1_avx2: Standardize stack alignment prologue
x86/crypto/sha256-avx2: Standardize stack alignment prologue
x86/crypto/sha512-avx: Standardize stack alignment prologue
x86/crypto/sha512-avx2: Standardize stack alignment prologue
x86/crypto/sha512-ssse3: Standardize stack alignment prologue
x86/crypto: Enable objtool in crypto code

arch/x86/crypto/Makefile | 2 -
arch/x86/crypto/aesni-intel_avx-x86_64.S | 28 +++++--------
arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 5 +--
arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 7 +---
arch/x86/crypto/sha1_avx2_x86_64_asm.S | 8 ++--
arch/x86/crypto/sha1_ni_asm.S | 8 ++--
arch/x86/crypto/sha256-avx2-asm.S | 13 +++---
arch/x86/crypto/sha512-avx-asm.S | 41 +++++++++----------
arch/x86/crypto/sha512-avx2-asm.S | 42 ++++++++++----------
arch/x86/crypto/sha512-ssse3-asm.S | 41 +++++++++----------
tools/objtool/check.c | 14 ++++++-
11 files changed, 98 insertions(+), 111 deletions(-)

--
2.29.2