|
@@ -0,0 +1,39 @@
|
|
|
+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
|