From 75d59956a4231740e0be107e240f51ce69bde0d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Tue, 14 May 2002 23:58:21 +0200
Subject: [PATCH] (_aes_crypt): Allocate only 32 bytes local storage on the
 stack. Calculate wtxt and tmp using offsets from %sp, not %fp.

Rev: src/nettle/sparc/aes.asm:1.71
---
 sparc/aes.asm | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/sparc/aes.asm b/sparc/aes.asm
index f6d05ed4..05d4a6e5 100644
--- a/sparc/aes.asm
+++ b/sparc/aes.asm
@@ -66,15 +66,19 @@ define(t1, %o1)
 define(t2, %o2)
 define(t3, %o3)
 
+define(<FRAME_SIZE>, 32)
+define(<FRAME_WTXT>, 0)
+define(<FRAME_TMP>, 16)
+
 _aes_crypt:
 ! Why -136?
-	save	%sp, -136, %sp
+	save	%sp, -FRAME_SIZE, %sp
 	cmp	length, 0
 	be	.Lend
-	! wtxt
-	add	%fp, -24, wtxt
-	
-	add	%fp, -40, tmp
+
+	add	%sp, FRAME_WTXT, wtxt
+	add	%sp, FRAME_TMP, tmp
+
 	ld	[ctx + AES_NROUNDS], nrounds
 	! Compute xor, so that we can swap efficiently.
 	xor	wtxt, tmp, diff
-- 
GitLab