Patchwork ppc32: Fix compile of sha1-powerpc-asm.S

login
register
mail settings
Submitter Tony Breeds
Date Feb. 26, 2013, 2:20 a.m.
Message ID <1361845205-30606-1-git-send-email-tony@bakeyournoodle.com>
Download mbox | patch
Permalink /patch/223103/
State Accepted
Commit 27777890d0fae55d14ef18791fc7994faf1bc867
Headers show

Comments

Tony Breeds - Feb. 26, 2013, 2:20 a.m.
When building with CRYPTO_SHA1_PPC enabled we fail with:
---
powerpc/crypto/sha1-powerpc-asm.S: Assembler messages:
powerpc/crypto/sha1-powerpc-asm.S:116: Error: can't resolve `0' {*ABS* section} - `STACKFRAMESIZE' {*UND* section}
powerpc/crypto/sha1-powerpc-asm.S:116: Error: expression too complex
powerpc/crypto/sha1-powerpc-asm.S:178: Error: unsupported relocation against STACKFRAMESIZE
---

Use INT_FRAME_SIZE instead.

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
---
 arch/powerpc/crypto/sha1-powerpc-asm.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

FWIW the SHA1_PPC makes about a 20% difference on my 32bit board
Christian Kujau - March 5, 2013, 1:23 a.m.
On Tue, 26 Feb 2013 at 13:20, Tony Breeds wrote:
> When building with CRYPTO_SHA1_PPC enabled we fail with:
> ---
> powerpc/crypto/sha1-powerpc-asm.S: Assembler messages:
> powerpc/crypto/sha1-powerpc-asm.S:116: Error: can't resolve `0' {*ABS* section} - `STACKFRAMESIZE' {*UND* section}
> powerpc/crypto/sha1-powerpc-asm.S:116: Error: expression too complex
> powerpc/crypto/sha1-powerpc-asm.S:178: Error: unsupported relocation against STACKFRAMESIZE
> ---
> 
> Use INT_FRAME_SIZE instead.
> 
> Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>

Thanks for the fix! Ran into this as well, with your patch 3.9-rc1 
compiles again (and it even boots :-))

Tested-by: Christian Kujau <lists@nerdbynature.de>

$ grep -A10 sha1 /proc/crypto
name         : sha1
driver       : sha1-powerpc
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : shash
blocksize    : 64
digestsize   : 20


> ---
>  arch/powerpc/crypto/sha1-powerpc-asm.S | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> FWIW the SHA1_PPC makes about a 20% difference on my 32bit board
> 
> diff --git a/arch/powerpc/crypto/sha1-powerpc-asm.S b/arch/powerpc/crypto/sha1-powerpc-asm.S
> index a5f8264..125e165 100644
> --- a/arch/powerpc/crypto/sha1-powerpc-asm.S
> +++ b/arch/powerpc/crypto/sha1-powerpc-asm.S
> @@ -113,7 +113,7 @@
>  	STEPUP4((t)+16, fn)
>  
>  _GLOBAL(powerpc_sha_transform)
> -	PPC_STLU r1,-STACKFRAMESIZE(r1)
> +	PPC_STLU r1,-INT_FRAME_SIZE(r1)
>  	SAVE_8GPRS(14, r1)
>  	SAVE_10GPRS(22, r1)
>  
> @@ -175,5 +175,5 @@ _GLOBAL(powerpc_sha_transform)
>  
>  	REST_8GPRS(14, r1)
>  	REST_10GPRS(22, r1)
> -	addi	r1,r1,STACKFRAMESIZE
> +	addi	r1,r1,INT_FRAME_SIZE
>  	blr
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
Michael Ellerman - March 6, 2013, 4:09 a.m.
On Mon, Mar 04, 2013 at 05:23:14PM -0800, Christian Kujau wrote:
> On Tue, 26 Feb 2013 at 13:20, Tony Breeds wrote:
> > When building with CRYPTO_SHA1_PPC enabled we fail with:
> > ---
> > powerpc/crypto/sha1-powerpc-asm.S: Assembler messages:
> > powerpc/crypto/sha1-powerpc-asm.S:116: Error: can't resolve `0' {*ABS* section} - `STACKFRAMESIZE' {*UND* section}
> > powerpc/crypto/sha1-powerpc-asm.S:116: Error: expression too complex
> > powerpc/crypto/sha1-powerpc-asm.S:178: Error: unsupported relocation against STACKFRAMESIZE
> > ---
> > 
> > Use INT_FRAME_SIZE instead.
> > 
> > Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
> 
> Thanks for the fix! Ran into this as well, with your patch 3.9-rc1 
> compiles again (and it even boots :-))
> 
> Tested-by: Christian Kujau <lists@nerdbynature.de>
> 
> $ grep -A10 sha1 /proc/crypto
> name         : sha1
> driver       : sha1-powerpc
> module       : kernel
> priority     : 0
> refcnt       : 1
> selftest     : passed
> type         : shash
> blocksize    : 64
> digestsize   : 20

Thanks Christian. What hardware are you on?

cheers
Christian Kujau - March 6, 2013, 6:42 a.m.
On Wed, 6 Mar 2013 at 15:09, Michael Ellerman wrote:
> Thanks Christian. What hardware are you on?

This is a PowerBook G4, 32bit, uni-processor. Full dmesg, e.g.:

  http://nerdbynature.de/bits/3.9.0-rc1/dmesg.txt

C.

Patch

diff --git a/arch/powerpc/crypto/sha1-powerpc-asm.S b/arch/powerpc/crypto/sha1-powerpc-asm.S
index a5f8264..125e165 100644
--- a/arch/powerpc/crypto/sha1-powerpc-asm.S
+++ b/arch/powerpc/crypto/sha1-powerpc-asm.S
@@ -113,7 +113,7 @@ 
 	STEPUP4((t)+16, fn)
 
 _GLOBAL(powerpc_sha_transform)
-	PPC_STLU r1,-STACKFRAMESIZE(r1)
+	PPC_STLU r1,-INT_FRAME_SIZE(r1)
 	SAVE_8GPRS(14, r1)
 	SAVE_10GPRS(22, r1)
 
@@ -175,5 +175,5 @@  _GLOBAL(powerpc_sha_transform)
 
 	REST_8GPRS(14, r1)
 	REST_10GPRS(22, r1)
-	addi	r1,r1,STACKFRAMESIZE
+	addi	r1,r1,INT_FRAME_SIZE
 	blr