Commit 9369693a authored by Jia He's avatar Jia He Committed by Herbert Xu
Browse files

crypto: arm64/poly1305 - move data to rodata section



When objtool gains support for ARM in the future, it may encounter issues
disassembling the following data in the .text section:
> .Lzeros:
> .long   0,0,0,0,0,0,0,0
> .asciz  "Poly1305 for ARMv8, CRYPTOGAMS by \@dot-asm"
> .align  2

Move it to .rodata which is a more appropriate section for read-only data.

There is a limit on how far the label can be from the instruction, hence
use "adrp" and low 12bits offset of the label to avoid the compilation
error.

Signed-off-by: default avatarJia He <justin.he@arm.com>
Tested-by: default avatarDaniel Gomez <da.gomez@samsung.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 18e2188c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -473,7 +473,8 @@ poly1305_blocks_neon:
	subs	$len,$len,#64
	ldp	x9,x13,[$inp,#48]
	add	$in2,$inp,#96
	adr	$zeros,.Lzeros
	adrp	$zeros,.Lzeros
	add	$zeros,$zeros,#:lo12:.Lzeros

	lsl	$padbit,$padbit,#24
	add	x15,$ctx,#48
@@ -885,10 +886,13 @@ poly1305_blocks_neon:
	ret
.size	poly1305_blocks_neon,.-poly1305_blocks_neon

.pushsection .rodata
.align	5
.Lzeros:
.long	0,0,0,0,0,0,0,0
.asciz	"Poly1305 for ARMv8, CRYPTOGAMS by \@dot-asm"
.popsection

.align	2
#if !defined(__KERNEL__) && !defined(_WIN64)
.comm	OPENSSL_armcap_P,4,4