Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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: Jia He <justin.he@arm.com>
Tested-by: Daniel Gomez <da.gomez@samsung.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Jia He and committed by
Herbert Xu
9369693a 18e2188c

+5 -1
+5 -1
arch/arm64/crypto/poly1305-armv8.pl
··· 473 473 subs $len,$len,#64 474 474 ldp x9,x13,[$inp,#48] 475 475 add $in2,$inp,#96 476 - adr $zeros,.Lzeros 476 + adrp $zeros,.Lzeros 477 + add $zeros,$zeros,#:lo12:.Lzeros 477 478 478 479 lsl $padbit,$padbit,#24 479 480 add x15,$ctx,#48 ··· 886 885 ret 887 886 .size poly1305_blocks_neon,.-poly1305_blocks_neon 888 887 888 + .pushsection .rodata 889 889 .align 5 890 890 .Lzeros: 891 891 .long 0,0,0,0,0,0,0,0 892 892 .asciz "Poly1305 for ARMv8, CRYPTOGAMS by \@dot-asm" 893 + .popsection 894 + 893 895 .align 2 894 896 #if !defined(__KERNEL__) && !defined(_WIN64) 895 897 .comm OPENSSL_armcap_P,4,4