mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] arm: crypto: fix SHA256 shipped assembler code
@ 2018-10-05 12:30 Lucas Stach
  2018-10-08  7:42 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Lucas Stach @ 2018-10-05 12:30 UTC (permalink / raw)
  To: barebox

Binutils 2.29 changed behavior of the adr instruction to always
add the thumb mode switch offset, which breaks usages where the
user is interested in the address of an internal symbol, instead
of a jump address. Binutils 3.31 fixed this by only adding the
offset when interworking is required.

As there are toolchains out there with broken binutils, it's better
to fix the code to work around the issue by not using the named
label.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Robert Schwebel <r.schwebel@pengutronix.de>
---
 arch/arm/crypto/sha256-core.S_shipped | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/crypto/sha256-core.S_shipped b/arch/arm/crypto/sha256-core.S_shipped
index 15e0f4ad1e68..4f9cf833b94b 100644
--- a/arch/arm/crypto/sha256-core.S_shipped
+++ b/arch/arm/crypto/sha256-core.S_shipped
@@ -92,7 +92,7 @@ sha256_block_data_order:
 #if __ARM_ARCH__<7
 	sub	r3,pc,#8		@ sha256_block_data_order
 #else
-	adr	r3,sha256_block_data_order
+	adr	r3,.
 #endif
 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
 	ldr	r12,.LOPENSSL_armcap
-- 
2.19.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] arm: crypto: fix SHA256 shipped assembler code
  2018-10-05 12:30 [PATCH] arm: crypto: fix SHA256 shipped assembler code Lucas Stach
@ 2018-10-08  7:42 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2018-10-08  7:42 UTC (permalink / raw)
  To: Lucas Stach; +Cc: barebox

On Fri, Oct 05, 2018 at 02:30:35PM +0200, Lucas Stach wrote:
> Binutils 2.29 changed behavior of the adr instruction to always
> add the thumb mode switch offset, which breaks usages where the
> user is interested in the address of an internal symbol, instead
> of a jump address. Binutils 3.31 fixed this by only adding the
> offset when interworking is required.
> 
> As there are toolchains out there with broken binutils, it's better
> to fix the code to work around the issue by not using the named
> label.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> Tested-by: Robert Schwebel <r.schwebel@pengutronix.de>
> ---
>  arch/arm/crypto/sha256-core.S_shipped | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Sascha

> 
> diff --git a/arch/arm/crypto/sha256-core.S_shipped b/arch/arm/crypto/sha256-core.S_shipped
> index 15e0f4ad1e68..4f9cf833b94b 100644
> --- a/arch/arm/crypto/sha256-core.S_shipped
> +++ b/arch/arm/crypto/sha256-core.S_shipped
> @@ -92,7 +92,7 @@ sha256_block_data_order:
>  #if __ARM_ARCH__<7
>  	sub	r3,pc,#8		@ sha256_block_data_order
>  #else
> -	adr	r3,sha256_block_data_order
> +	adr	r3,.
>  #endif
>  #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
>  	ldr	r12,.LOPENSSL_armcap
> -- 
> 2.19.0
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-10-08  7:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-05 12:30 [PATCH] arm: crypto: fix SHA256 shipped assembler code Lucas Stach
2018-10-08  7:42 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox