diff --git a/configure.in b/configure.in index 8f66709..34a8acd 100644 --- a/configure.in +++ b/configure.in @@ -3602,11 +3602,27 @@ if test "$result" = "yes"; then fi AC_SUBST(HAVE_ARM_SIMD) +AC_CACHE_CHECK(for ARM EABI HARD, + ac_cv_gcc_arm_eabi_hard, + [AC_TRY_COMPILE([], + [ +#if defined(__ARM_PCS_VFP) + return 0; +#else +#error Not ARM EABI HARD. +#endif + ], + ac_cv_gcc_arm_eabi_hard="yes", + ac_cv_gcc_arm_eabi_hard="no")]) +if test "$ac_cv_gcc_arm_eabi_hard" == "no"; then + SOFTFP_FLAGS="-mfloat-abi=softfp" +fi + AC_MSG_CHECKING(for ARM NEON support in compiler) _SAVE_CFLAGS="$CFLAGS" if test "$GNU_CC"; then # gcc needs -mfpu=neon to recognize NEON instructions - CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=softfp" + CFLAGS="$CFLAGS -mfpu=neon $SOFTFP_FLAGS" fi # We try to link so that this also fails when # building with LTO. @@ -7165,9 +7181,9 @@ if test -n "$MOZ_THUMB2"; then if test "$GNU_CC"; then AC_DEFINE(MOZ_THUMB2) AC_DEFINE(MOZ_ARM_ARCH) - CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" + CFLAGS="$CFLAGS -march=armv7-a -mthumb $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + ASFLAGS="$ASFLAGS -march=armv7-a -mthumb $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" else AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains]) fi @@ -7181,9 +7197,9 @@ elif test "$MOZ_ARM_ARCH" = "armv7"; then arm*) if test "$GNU_CC"; then AC_DEFINE(MOZ_ARM_ARCH) - CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" + CFLAGS="$CFLAGS -march=armv7-a -marm $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + CXXFLAGS="$CXXFLAGS -march=armv7-a -marm $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + ASFLAGS="$ASFLAGS -march=armv7-a -marm $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" else AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains]) fi diff --git a/js/src/configure.in b/js/src/configure.in index 3460091..a8972a6 100644 --- a/js/src/configure.in +++ b/js/src/configure.in @@ -3466,11 +3466,27 @@ if test "$result" = "yes"; then fi AC_SUBST(HAVE_ARM_SIMD) +AC_CACHE_CHECK(for ARM EABI HARD, + ac_cv_gcc_arm_eabi_hard, + [AC_TRY_COMPILE([], + [ +#if defined(__ARM_PCS_VFP) + return 0; +#else +#error Not ARM EABI HARD. +#endif + ], + ac_cv_gcc_arm_eabi_hard="yes", + ac_cv_gcc_arm_eabi_hard="no")]) +if test "$ac_cv_gcc_arm_eabi_hard" == "no"; then + SOFTFP_FLAGS="-mfloat-abi=softfp" +fi + AC_MSG_CHECKING(for ARM NEON support in compiler) _SAVE_CFLAGS="$CFLAGS" if test "$GNU_CC"; then # gcc needs -mfpu=neon to recognize NEON instructions - CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=softfp" + CFLAGS="$CFLAGS -mfpu=neon $SOFTFP_FLAGS" fi AC_TRY_COMPILE([], [asm("vadd.i8 d0, d0, d0");], @@ -4607,9 +4623,9 @@ if test -n "$MOZ_THUMB2"; then if test "$GNU_CC"; then AC_DEFINE(MOZ_THUMB2) AC_DEFINE(MOZ_ARM_ARCH) - CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" + CFLAGS="$CFLAGS -march=armv7-a -mthumb $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + ASFLAGS="$ASFLAGS -march=armv7-a -mthumb $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" else AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains]) fi @@ -4623,9 +4639,9 @@ elif test "$MOZ_ARM_ARCH" = "armv7"; then arm*) if test "$GNU_CC"; then AC_DEFINE(MOZ_ARM_ARCH) - CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" + CFLAGS="$CFLAGS -march=armv7-a -marm $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + CXXFLAGS="$CXXFLAGS -march=armv7-a -marm $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" + ASFLAGS="$ASFLAGS -march=armv7-a -marm $SOFTFP_FLAGS $MOZ_ARM_VFP_FLAGS" else AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains]) fi diff --git a/toolkit/crashreporter/google-breakpad/src/client/windows/build/common.gypi b/toolkit/crashreporter/google-breakpad/src/client/windows/build/common.gypi index fb4e6d8..481f2b9 100755 --- a/toolkit/crashreporter/google-breakpad/src/client/windows/build/common.gypi +++ b/toolkit/crashreporter/google-breakpad/src/client/windows/build/common.gypi @@ -996,8 +996,8 @@ ['armv7==1', { 'cflags': [ '-march=armv7-a', - '-mtune=cortex-a8', - '-mfloat-abi=softfp', + '-mtune=cortex-a9', + '-mfloat-abi=hard', ], 'conditions': [ ['arm_neon==1', {