From 85ced3c8a78f87103ed17bfbc262721298bab43e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Sun, 16 Oct 2005 21:10:36 +0200
Subject: [PATCH] * sparc/aes-encrypt-internal.asm,
 sparc/aes-decrypt-internal.asm: Reduced frame size to 104 bytes, since we no
 longer need wtxt and tmp on the stack.

Rev: src/nettle/sparc/aes-decrypt-internal.asm:1.2
Rev: src/nettle/sparc/aes-encrypt-internal.asm:1.12
---
 sparc/aes-decrypt-internal.asm |  6 ++----
 sparc/aes-encrypt-internal.asm | 11 +++++++----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/sparc/aes-decrypt-internal.asm b/sparc/aes-decrypt-internal.asm
index ecc2712e..6318ca9f 100644
--- a/sparc/aes-decrypt-internal.asm
+++ b/sparc/aes-decrypt-internal.asm
@@ -51,10 +51,8 @@ C The sparc32 stack frame looks like
 C
 C %fp -   4: OS-dependent link field
 C %fp -   8: OS-dependent link field
-C %fp -  24: tmp, uint32_t[4]
-C %fp -  40: wtxt, uint32_t[4]
-C %fp - 136: OS register save area. 
-define(<FRAME_SIZE>, 136)
+C %fp - 104: OS register save area. 
+define(<FRAME_SIZE>, 104)
 
 	.file "aes-decrypt-internal.asm"
 
diff --git a/sparc/aes-encrypt-internal.asm b/sparc/aes-encrypt-internal.asm
index 77011772..30937df0 100644
--- a/sparc/aes-encrypt-internal.asm
+++ b/sparc/aes-encrypt-internal.asm
@@ -47,14 +47,17 @@ C %g1 and %g2 are TMP1 and TMP2
 
 C Registers %g1-%g3 and %o0 - %o5 are free to use.
 
+C I'm still slightly confused by the frame layout, specified in
+C "SYSTEM V APPLICATION BINARY INTERFACE SPARC Processor Supplement".
+C However, Sun's cc generates a 104 byte stack frame for a function
+C with no local variables, so that should be good enough for us too.
+
 C The sparc32 stack frame looks like
 C
 C %fp -   4: OS-dependent link field
 C %fp -   8: OS-dependent link field
-C %fp -  24: tmp, uint32_t[4]
-C %fp -  40: wtxt, uint32_t[4]
-C %fp - 136: OS register save area. 
-define(<FRAME_SIZE>, 136)
+C %fp - 104: OS register save area 
+define(<FRAME_SIZE>, 104)
 
 	.file "aes-encrypt-internal.asm"
 
-- 
GitLab