improve test for unaligned access

check target attribute on ARM
This commit is contained in:
Matthijs van Duin 2015-09-04 02:29:34 +02:00
parent 8fa4ef1391
commit cfa9e95b6c

View File

@ -406,13 +406,22 @@ void f(void *x) { __dummy(x); }
AC_DEFINE([HAVE_WEAK_SYMBOLS], [1], [weak symbols are supported])], AC_DEFINE([HAVE_WEAK_SYMBOLS], [1], [weak symbols are supported])],
[AC_MSG_RESULT(no)]) [AC_MSG_RESULT(no)])
AC_MSG_CHECKING(if unaligned data access is supported)
unaligned_access_ok=
AS_CASE([$host_cpu], AS_CASE([$host_cpu],
[i*86 | x86_64 | powerpc* | s390*], [i*86 | x86_64 | powerpc* | s390*],
[AC_MSG_NOTICE([data alignment is not required on this target])], [unaligned_access_ok=yes],
[*], [arm*],
[AC_MSG_NOTICE([data alignment is required on this target]) [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
AC_DEFINE([CPU_ALIGNED_ACCESS_REQUIRED], [1], [data alignment is required])] #ifndef __ARM_FEATURE_UNALIGNED
# error unaligned access not supported
#endif
]], [[]])], [unaligned_access_ok=yes], [])]
) )
AS_IF([test "x$unaligned_access_ok" = xyes],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
AC_DEFINE([CPU_ALIGNED_ACCESS_REQUIRED], [1], [data alignment is required])])
dnl Checks for functions and headers dnl Checks for functions and headers