From c902df07e3d1f8a1c215c22de4083a5745eb4879 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Thu, 9 Apr 2026 00:08:56 +0200 Subject: [PATCH] Fix compilation on ARM with very old gcc versions --- .../aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c index 795afd83..5fa986f4 100644 --- a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +++ b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c @@ -81,17 +81,17 @@ REV128_(uint64x2_t x) vreinterpretq_u64_u32(vdupq_laneq_u32(vreinterpretq_u32_u64(x), 3)) #define SWAP64HALVES(x) \ vreinterpretq_u64_u32(vextq_u32(vreinterpretq_u32_u64(x), \ - vreinterpretq_u32_u64(x), 2)) + vreinterpretq_u32_u64(x), 2)) #define CLMULLO128(a, b) \ - vreinterpretq_u64_p128(vmull_p64(vget_low_p64(vreinterpretq_p64_u64(a)), \ - vget_low_p64(vreinterpretq_p64_u64(b)))) + vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 0), \ + vgetq_lane_p64(vreinterpretq_p64_u64(b), 0))) #define CLMULLOHI128(a, b) \ - vreinterpretq_u64_p128(vmull_p64(vget_low_p64(vreinterpretq_p64_u64(a)), \ - vget_high_p64(vreinterpretq_p64_u64(b)))) + vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 0), \ + vgetq_lane_p64(vreinterpretq_p64_u64(b), 1))) #define CLMULHILO128(a, b) \ - vreinterpretq_u64_p128(vmull_p64(vget_high_p64(vreinterpretq_p64_u64(a)), \ - vget_low_p64(vreinterpretq_p64_u64(b)))) + vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 1), \ + vgetq_lane_p64(vreinterpretq_p64_u64(b), 0))) #if defined(__GNUC__) || defined(__clang__) #define PREFETCH_READ(x) __builtin_prefetch((x), 0, 2)