From fd02e8e78470deb661269c429f3348f811c054c6 Mon Sep 17 00:00:00 2001 From: Jussi Kivilinna Date: Thu, 12 May 2022 09:06:07 +0300 Subject: aarch64-asm: use ADR for getting pointers for local labels * cipher/asm-common-aarch64.h (GET_DATA_POINTER): Remove. (GET_LOCAL_POINTER): New. * cipher/camellia-aarch64.S: Use GET_LOCAL_POINTER instead of ADR instruction directly. * cipher/chacha20-aarch64.S: Use GET_LOCAL_POINTER instead of GET_DATA_POINTER. * cipher/cipher-gcm-armv8-aarch64-ce.S: Likewise. * cipher/crc-armv8-aarch64-ce.S: Likewise. * cipher/sha1-armv8-aarch64-ce.S: Likewise. * cipher/sha256-armv8-aarch64-ce.S: Likewise. * cipher/sm3-aarch64.S: Likewise. * cipher/sm3-armv8-aarch64-ce.S: Likewise. * cipher/sm4-aarch64.S: Likewise. --- Switch to use ADR instead of ADRP/LDR or ADRP/ADD for getting data pointers within assembly files. ADR is more portable across targets and does not require labels to be declared in GOT tables. Reviewed-and-tested-by: Tianjia Zhang Signed-off-by: Jussi Kivilinna --- cipher/sha1-armv8-aarch64-ce.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cipher/sha1-armv8-aarch64-ce.S') diff --git a/cipher/sha1-armv8-aarch64-ce.S b/cipher/sha1-armv8-aarch64-ce.S index ea26564b..f95717ee 100644 --- a/cipher/sha1-armv8-aarch64-ce.S +++ b/cipher/sha1-armv8-aarch64-ce.S @@ -109,7 +109,7 @@ _gcry_sha1_transform_armv8_ce: cbz x2, .Ldo_nothing; - GET_DATA_POINTER(x4, .LK_VEC); + GET_LOCAL_POINTER(x4, .LK_VEC); ld1 {vH0123.4s}, [x0] /* load h0,h1,h2,h3 */ ld1 {vK1.4s-vK4.4s}, [x4] /* load K1,K2,K3,K4 */ -- cgit v1.2.1