From cdc27fd061d2b597e05d15c1516dcb8bd00e5629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20F=C3=BCl=C3=B6p?= Date: Sat, 17 Apr 2021 22:11:18 +0200 Subject: [PATCH] ICP: Silence objtool "stack pointer realignment" warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Objtool requires the use of a DRAP register while aligning the stack. Since a DRAP register is a gcc concept and we are notoriously low on registers in the crypto code, it's not worth the effort to mimic gcc generated stack realignment. We simply silence the warning by adding the offending object files to OBJECT_FILES_NON_STANDARD. Reviewed-by: Brian Behlendorf Signed-off-by: Attila Fülöp Closes #6950 Closes #11914 --- module/icp/Makefile.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/module/icp/Makefile.in b/module/icp/Makefile.in index 09ffb6fa47..858c5a610c 100644 --- a/module/icp/Makefile.in +++ b/module/icp/Makefile.in @@ -69,6 +69,12 @@ $(MODULE)-$(CONFIG_X86) += algs/aes/aes_impl_x86-64.o # utility tries to interpret them as opcodes and obviously fails doing so. OBJECT_FILES_NON_STANDARD_aesni-gcm-x86_64.o := y OBJECT_FILES_NON_STANDARD_ghash-x86_64.o := y +# Suppress objtool "unsupported stack pointer realignment" warnings. We are +# not using a DRAP register while aligning the stack to a 64 byte boundary. +# See #6950 for the reasoning. +OBJECT_FILES_NON_STANDARD_sha1-x86_64.o := y +OBJECT_FILES_NON_STANDARD_sha256_impl.o := y +OBJECT_FILES_NON_STANDARD_sha512_impl.o := y ICP_DIRS = \ api \