[PATCH v6 26/33] arm64: crypto: Remove unnecessary stackframe

From: Chen Zhongjin
Date: Wed Jun 22 2022 - 21:53:51 EST


The way sha256_block_neon restore the stackframe confuses objtool.
But it turns out this function is a leaf function and does not use
FP nor LR as scratch register.

Do not create a stackframe in this function as it is not necessary.

Signed-off-by: Julien Thierry <jthierry@xxxxxxxxxx>
Signed-off-by: Chen Zhongjin <chenzhongjin@xxxxxxxxxx>
---
arch/arm64/crypto/sha512-armv8.pl | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/arm64/crypto/sha512-armv8.pl b/arch/arm64/crypto/sha512-armv8.pl
index 1882c4110026..6e2a96e05c5a 100644
--- a/arch/arm64/crypto/sha512-armv8.pl
+++ b/arch/arm64/crypto/sha512-armv8.pl
@@ -648,8 +648,6 @@ $code.=<<___;
.align 4
sha256_block_neon:
.Lneon_entry:
- stp x29, x30, [sp, #-16]!
- mov x29, sp
sub sp,sp,#16*4

adr $Ktbl,K256
@@ -736,8 +734,7 @@ $code.=<<___;
mov $Xfer,sp
b.ne .L_00_48

- ldr x29,[x29]
- add sp,sp,#16*4+16
+ add sp,sp,#16*4
ret
.size sha256_block_neon,.-sha256_block_neon
___
--
2.17.1