From: Alexey Moksyakov Date: Wed, 22 Jan 2025 08:42:54 +0000 (+0300) Subject: [bsaes][aarch64] Move constant to .rodata section X-Git-Tag: openssl-3.5.0-alpha1~618 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=45579e8e58abcb39826f035c2d6b66258bcd7ae5;p=thirdparty%2Fopenssl.git [bsaes][aarch64] Move constant to .rodata section Reviewed-by: Saša Nedvědický Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/26509) --- diff --git a/crypto/aes/asm/bsaes-armv8.pl b/crypto/aes/asm/bsaes-armv8.pl index 2e22cb9dd92..d9446cddd2b 100644 --- a/crypto/aes/asm/bsaes-armv8.pl +++ b/crypto/aes/asm/bsaes-armv8.pl @@ -78,7 +78,8 @@ __END__ // other SIMD registers corrupted _bsaes_decrypt8: ldr q8, [x9], #16 - adr x11, .LM0ISR + adrp x11, .LM0ISR + add x11, x11, #:lo12:.LM0ISR movi v9.16b, #0x55 ldr q10, [x11], #16 movi v16.16b, #0x33 @@ -494,9 +495,10 @@ _bsaes_decrypt8: ret .size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_const,%object +.rodata +.type _bsaes_consts,%object .align 6 -_bsaes_const: +_bsaes_consts: // InvShiftRows constants // Used in _bsaes_decrypt8, which assumes contiguity // .LM0ISR used with round 0 key @@ -532,7 +534,9 @@ _bsaes_const: .quad 0x090d01050c000408, 0x03070b0f060a0e02 .align 6 -.size _bsaes_const,.-_bsaes_const +.size _bsaes_consts,.-_bsaes_consts + +.previous .type _bsaes_encrypt8,%function .align 4 @@ -548,7 +552,8 @@ _bsaes_const: // other SIMD registers corrupted _bsaes_encrypt8: ldr q8, [x9], #16 - adr x11, .LM0SR + adrp x11, .LM0SR + add x11, x11, #:lo12:.LM0SR ldr q9, [x11], #16 _bsaes_encrypt8_alt: eor v0.16b, v0.16b, v8.16b @@ -952,9 +957,11 @@ _bsaes_encrypt8_alt: // other SIMD registers corrupted _bsaes_key_convert: #ifdef __AARCH64EL__ - adr x11, .LM0_littleendian + adrp x11, .LM0_littleendian + add x11, x11, #:lo12:.LM0_littleendian #else - adr x11, .LM0_bigendian + adrp x11, .LM0_bigendian + add x11, x11, #:lo12:.LM0_bigendian #endif ldr q0, [x9], #16 // load round 0 key ldr q1, [x11] // .LM0 @@ -998,7 +1005,8 @@ _bsaes_key_convert: // don't save last round key #ifdef __AARCH64EL__ rev32 v15.16b, v15.16b - adr x11, .LM0_bigendian + adrp x11, .LM0_bigendian + add x11, x11, #:lo12:.LM0_bigendian #endif ret .size _bsaes_key_convert,.-_bsaes_key_convert