From ffa49cfcc71c84fb877cf150d758ca8420dcb2d2 Mon Sep 17 00:00:00 2001 From: kettenis <> Date: Wed, 24 Jan 2018 23:03:37 +0000 Subject: Make the NEON codepaths conditional on __STRICT_ALIGNMENT not being defined as they rely on unaligned access. ok joel@ --- src/lib/libcrypto/modes/asm/ghash-armv4.pl | 2 +- src/lib/libcrypto/modes/gcm128.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/lib/libcrypto/modes') diff --git a/src/lib/libcrypto/modes/asm/ghash-armv4.pl b/src/lib/libcrypto/modes/asm/ghash-armv4.pl index 4f8372d897..2d57806b46 100644 --- a/src/lib/libcrypto/modes/asm/ghash-armv4.pl +++ b/src/lib/libcrypto/modes/asm/ghash-armv4.pl @@ -319,7 +319,7 @@ sub Dhi() { shift=~m|q([1]?[0-9])|?"d".($1*2+1):""; } sub Q() { shift=~m|d([1-3]?[02468])|?"q".($1/2):""; } $code.=<<___; -#if __ARM_ARCH__>=7 +#if __ARM_ARCH__>=7 && !defined(__STRICT_ALIGNMENT) .fpu neon .global gcm_gmult_neon diff --git a/src/lib/libcrypto/modes/gcm128.c b/src/lib/libcrypto/modes/gcm128.c index 42291519bc..74362e6adc 100644 --- a/src/lib/libcrypto/modes/gcm128.c +++ b/src/lib/libcrypto/modes/gcm128.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gcm128.c,v 1.21 2017/12/09 07:16:51 deraadt Exp $ */ +/* $OpenBSD: gcm128.c,v 1.22 2018/01/24 23:03:37 kettenis Exp $ */ /* ==================================================================== * Copyright (c) 2010 The OpenSSL Project. All rights reserved. * @@ -661,7 +661,7 @@ void gcm_ghash_4bit_x86(u64 Xi[2],const u128 Htable[16],const u8 *inp,size_t len # endif # elif defined(__arm__) || defined(__arm) # include "arm_arch.h" -# if __ARM_ARCH__>=7 +# if __ARM_ARCH__>=7 && !defined(__STRICT_ALIGNMENT) # define GHASH_ASM_ARM # define GCM_FUNCREF_4BIT void gcm_gmult_neon(u64 Xi[2],const u128 Htable[16]); -- cgit v1.2.3-55-g6feb