Index: crypto/chacha/asm/chacha-armv8-sve.pl
--- crypto/chacha/asm/chacha-armv8-sve.pl.orig
+++ crypto/chacha/asm/chacha-armv8-sve.pl
@@ -720,12 +720,16 @@ $code.=<<___;
 .extern	OPENSSL_armcap_P
 .hidden	OPENSSL_armcap_P
 
-.text
+.rodata
+
 .align	5
 .Lchacha20_consts:
 .quad	0x3320646e61707865,0x6b20657479622d32		// endian-neutral
 .Lrot8:
 	.word 0x02010003,0x04040404,0x02010003,0x04040404
+
+.text
+
 .globl	ChaCha20_ctr32_sve
 .type	ChaCha20_ctr32_sve,%function
 .align	5
@@ -744,7 +748,8 @@ ChaCha20_ctr32_sve:
 1:
 	cmp	$veclen,4
 	b.le	.Lreturn
-	adr	$tmp,.Lrot8
+	adrp	$tmp,.Lrot8
+	add	$tmp,$tmp,:lo12:.Lrot8
 	ldp	$tmpw0,$tmpw1,[$tmp]
 	index	$rot8.s,$tmpw0,$tmpw1
 2:
@@ -762,7 +767,8 @@ ChaCha20_ctr32_sve:
 	stp	x28,x29,[sp,160]
 	str	x30,[sp,176]
 
-	adr	$tmp,.Lchacha20_consts
+	adrp	$tmp,.Lchacha20_consts
+	add	$tmp,$tmp,:lo12:.Lchacha20_consts
 	ldp	@K[0],@K[1],[$tmp]
 	ldp	@K[2],@K[3],[$key]
 	ldp	@K[4],@K[5],[$key, 16]
