123456789101112131415161718192021222324252627282930313233 |
- # AX_MISALIGNED_ACCESS_FAILS(MACHINE, [ACTION-IF-MISALIGNED-FAILS], [ACTION-IF-MISALIGNED-OK])
- # -------------------------------------------------------------------------------------
- #
- # Check if a specified machine type cannot handle misaligned data. That is, multi-byte data
- # types which are not properly aligned in memory fail. Many machines are happy to work with
- # misaligned data, but slowing down a bit. Other machines just won't tolerate such data.
- #
- # This is a simple lookup amongst machines known to the current autotools. So far we only deal
- # with the ARM and sparc.
- # A lookup is used, as many of the devices which cannot handled misaligned access are embedded
- # processors, for which the code normally be cross-compiled.
- #
- AC_DEFUN([AX_MISALIGNED_ACCESS_FAILS],
- [AS_VAR_PUSHDEF([ac_MisalignedAccessFails], [ac_cv_misaligned_access_fails_$1])dnl
- AC_CACHE_CHECK([if $1 fails on misaligned memory access], ac_MisalignedAccessFails,
- [case $1 in
- arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] \
- | bfin \
- | sparc \
- | xscale | xscalee[bl] \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | bfin-* \
- | sparc-* \
- | xscale-* | xscalee[bl]-* )
- AS_VAR_SET(ac_MisalignedAccessFails, yes)
- ;;
- *)
- AS_VAR_SET(ac_MisalignedAccessFails, no)
- ;;
- esac])
- AS_IF([test AS_VAR_GET(ac_MisalignedAccessFails) = yes], [$2], [$3])[]dnl
- AS_VAR_POPDEF([ac_MisalignedAccessFails])dnl
- ])# MISALIGNED_ACCESS_FAILS
|