]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
aes/asm/bsaes-armv7.pl: Replace adrl with add
authorKornel Dulęba <mindal@semihalf.com>
Wed, 8 Mar 2023 10:28:41 +0000 (11:28 +0100)
committerPauli <pauli@openssl.org>
Tue, 14 Mar 2023 21:22:51 +0000 (08:22 +1100)
"adrl" is a pseudo-instruction used to calculate an address relative
to PC. It's not recognized by clang resulting in a compilation error.
I've stumbled upon it when trying to integrate the bsaes-armv7 assmebly
logic into FreeBSD kernel, which uses clang as it's default compiler.
Note that this affect the build only if BSAES_ASM_EXTENDED_KEY is
defined, which is not the default option in OpenSSL.

The solution here is to replace it with an add instruction.
This mimics what has already been done in !BSAES_ASM_EXTENDED_KEY logic.
Because of that I've marked this as trivial CLA.

CLA: trivial
Signed-off-by: Kornel Dulęba <mindal@semihalf.com>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20458)

crypto/aes/asm/bsaes-armv7.pl

index 9c5dd5839acba124d4841efe128724081a1308e5..372853461f0994973c940157d395c7d5e890a23d 100644 (file)
@@ -1447,7 +1447,7 @@ ossl_bsaes_ctr32_encrypt_blocks:
 .align 2
 0:     add     r12, $key, #248
        vld1.8  {@XMM[0]}, [$ctr]               @ load counter
-       adrl    $ctr, .LREVM0SR                 @ borrow $ctr
+       add     $ctr, $const, #.LREVM0SR-.LM0   @ borrow $ctr
        vldmia  r12, {@XMM[4]}                  @ load round0 key
        sub     sp, #0x10                       @ place for adjusted round0 key
 #endif