123456789101112131415161718192021222324252627282930313233343536373839 |
- Improve the ARM detection to work on Thumb-only architecture
- The ARM-specific assembly code doesn't build on Thumb-only
- architectures such as ARMv7-M, but the configure script assumes that
- if the host tuple is arm*, then it can build and use the ARM optimized
- code.
- This patch improves the configure.ac detection logic, by building one
- of the instruction of the optimized assembly code, and using this to
- decide whether or not the optimizations should be enabled.
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Index: b/configure.ac
- ===================================================================
- --- a/configure.ac
- +++ b/configure.ac
- @@ -101,8 +101,10 @@
- alpha*)
- AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);;
- arm*)
- - arm_conditional=:
- - AC_DEFINE([ARCH_ARM],,[ARM architecture]);;
- + AC_TRY_LINK([], [asm(".syntax divided\nstmfd sp!,{r4-r11,lr}")],
- + [AC_DEFINE([ARCH_ARM],,[ARM architecture])
- + use_arm_optimization=yes],
- + [use_arm_optimization=no])
- esac
- elif test x"$CC" = x"tendracc"; then
- dnl TenDRA portability checking compiler
- @@ -122,7 +124,7 @@
- esac
- fi
-
- -AM_CONDITIONAL(ARCH_ARM, ${arm_conditional})
- +AM_CONDITIONAL(ARCH_ARM, test "${use_arm_optimization}" = "yes")
-
- dnl Checks for libtool - this must be done after we set cflags
- AC_LIBTOOL_WIN32_DLL
|