Get __STRICT_ALIGNMENT from machine/endian.h

This commit is contained in:
kinichiro 2020-07-15 01:25:34 +09:00
parent fa26b5359b
commit 7423582705
2 changed files with 10 additions and 13 deletions

View File

@ -75,18 +75,6 @@ AC_ARG_ENABLE([tests],
[enable_tests="yes"])
AM_CONDITIONAL([ENABLE_TESTS], [test "x$enable_tests" = xyes])
# Add CPU-specific alignment flags
old_cflags=$CFLAGS
CFLAGS="$CFLAGS -I$srcdir/include"
AC_MSG_CHECKING([if BSWAP4 builds without __STRICT_ALIGNMENT])
AC_TRY_COMPILE([#include "$srcdir/crypto/modes/modes_lcl.h"],
[int a = 0; BSWAP4(a);],
AC_MSG_RESULT([yes])
BSWAP4=yes,
AC_MSG_RESULT([no])
BSWAP4=no)
CFLAGS="$old_cflags"
AS_CASE([$host_cpu],
[*sparc*], [CPPFLAGS="$CPPFLAGS -D__STRICT_ALIGNMENT"],
[*arm*], [host_cpu=arm],
@ -94,7 +82,6 @@ AS_CASE([$host_cpu],
[i?86], [HOSTARCH=intel],
[x86_64], [HOSTARCH=intel]
)
AS_IF([test "x$BSWAP4" = "xyes" -a "$host_cpu" = "arm" ],,CPPFLAGS="$CPPFLAGS -D__STRICT_ALIGNMENT")
AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"])
AC_MSG_CHECKING([if .gnu.warning accepts long strings])

View File

@ -37,4 +37,14 @@
#endif
#ifndef __STRICT_ALIGNMENT
#define __STRICT_ALIGNMENT
#if defined(__i386) || defined(__i386__) || \
defined(__x86_64) || defined(__x86_64__) || \
defined(__aarch64__) || \
((defined(__arm__) || defined(__arm)) && __ARM_ARCH >= 6)
#undef __STRICT_ALIGNMENT
#endif
#endif
#endif