bug 890985 - crash in nsStandardURL::SetSpec @ nsStandardURL::BuildNormalizedSpec r=glandium
authorBrad Lassey <blassey@mozilla.com>
Wed, 23 Oct 2013 10:44:20 +0200
changeset 166558 7bdb63636763a8f41a09639f9b8570fa2f8f4ad9
parent 166557 568d296995e0d806e8e7fadca1d2dfeeb2e7f301
child 166559 2ed8270e713f783aaba5d4700236f0f65fe49dfc
push id428
push userbbajaj@mozilla.com
push dateTue, 28 Jan 2014 00:16:25 +0000
treeherdermozilla-release@cd72a7ff3a75 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs890985
milestone27.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 890985 - crash in nsStandardURL::SetSpec @ nsStandardURL::BuildNormalizedSpec r=glandium
build/autoconf/arch.m4
js/src/build/autoconf/arch.m4
--- a/build/autoconf/arch.m4
+++ b/build/autoconf/arch.m4
@@ -9,16 +9,17 @@ dnl ====================================
 dnl = ARM toolchain tweaks
 dnl ========================================================
 
 MOZ_THUMB=toolchain-default
 MOZ_THUMB_INTERWORK=toolchain-default
 MOZ_FPU=toolchain-default
 MOZ_FLOAT_ABI=toolchain-default
 MOZ_SOFT_FLOAT=toolchain-default
+MOZ_ALIGN=toolchain-default
 
 MOZ_ARG_WITH_STRING(arch,
 [  --with-arch=[[type|toolchain-default]]
                            Use specific CPU features (-march=type). Resets
                            thumb, fpu, float-abi, etc. defaults when set],
     if test -z "$GNU_CC"; then
         AC_MSG_ERROR([--with-arch is not supported on non-GNU toolchains])
     fi
@@ -27,16 +28,17 @@ MOZ_ARG_WITH_STRING(arch,
 if test -z "$MOZ_ARCH"; then
     dnl Defaults
     case "${CPU_ARCH}-${OS_TARGET}" in
     arm-Android)
         MOZ_THUMB=yes
         MOZ_ARCH=armv7-a
         MOZ_FPU=vfp
         MOZ_FLOAT_ABI=softfp
+        MOZ_ALIGN=no
         ;;
     arm-Darwin)
         MOZ_ARCH=toolchain-default
         MOZ_THUMB=yes
         ;;
     esac
 fi
 
@@ -154,18 +156,38 @@ yes)
 no)
     soft_float_flag="-mno-soft-float"
     ;;
 *) # toolchain-default
     soft_float_flag=""
     ;;
 esac
 
+case "$MOZ_ALIGN" in
+no)
+    align_flag="-mno-unaligned-access"
+    ;;
+yes)
+    align_flag="-munaligned-access"
+    ;;
+*)
+    align_flag=""
+    ;;
+esac
+
+if test -n "$align_flag"; then
+  _SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $align_flag"
+  AC_MSG_CHECKING(whether alignment flag ($align_flag) is supported)
+  AC_TRY_COMPILE([],[],,align_flag="")
+  CFLAGS="$_SAVE_CFLAGS"
+fi
+
 dnl Use echo to avoid accumulating space characters
-all_flags=`echo $arch_flag $thumb_flag $thumb_interwork_flag $fpu_flag $float_abi_flag $soft_float_flag`
+all_flags=`echo $arch_flag $thumb_flag $thumb_interwork_flag $fpu_flag $float_abi_flag $soft_float_flag $align_flag`
 if test -n "$all_flags"; then
     _SAVE_CFLAGS="$CFLAGS"
     CFLAGS="$all_flags"
     AC_MSG_CHECKING(whether the chosen combination of compiler flags ($all_flags) works)
     AC_TRY_COMPILE([],[return 0;],
         AC_MSG_RESULT([yes]),
         AC_MSG_ERROR([no]))
 
--- a/js/src/build/autoconf/arch.m4
+++ b/js/src/build/autoconf/arch.m4
@@ -9,16 +9,17 @@ dnl ====================================
 dnl = ARM toolchain tweaks
 dnl ========================================================
 
 MOZ_THUMB=toolchain-default
 MOZ_THUMB_INTERWORK=toolchain-default
 MOZ_FPU=toolchain-default
 MOZ_FLOAT_ABI=toolchain-default
 MOZ_SOFT_FLOAT=toolchain-default
+MOZ_ALIGN=toolchain-default
 
 MOZ_ARG_WITH_STRING(arch,
 [  --with-arch=[[type|toolchain-default]]
                            Use specific CPU features (-march=type). Resets
                            thumb, fpu, float-abi, etc. defaults when set],
     if test -z "$GNU_CC"; then
         AC_MSG_ERROR([--with-arch is not supported on non-GNU toolchains])
     fi
@@ -27,16 +28,17 @@ MOZ_ARG_WITH_STRING(arch,
 if test -z "$MOZ_ARCH"; then
     dnl Defaults
     case "${CPU_ARCH}-${OS_TARGET}" in
     arm-Android)
         MOZ_THUMB=yes
         MOZ_ARCH=armv7-a
         MOZ_FPU=vfp
         MOZ_FLOAT_ABI=softfp
+        MOZ_ALIGN=no
         ;;
     arm-Darwin)
         MOZ_ARCH=toolchain-default
         MOZ_THUMB=yes
         ;;
     esac
 fi
 
@@ -154,18 +156,38 @@ yes)
 no)
     soft_float_flag="-mno-soft-float"
     ;;
 *) # toolchain-default
     soft_float_flag=""
     ;;
 esac
 
+case "$MOZ_ALIGN" in
+no)
+    align_flag="-mno-unaligned-access"
+    ;;
+yes)
+    align_flag="-munaligned-access"
+    ;;
+*)
+    align_flag=""
+    ;;
+esac
+
+if test -n "$align_flag"; then
+  _SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $align_flag"
+  AC_MSG_CHECKING(whether alignment flag ($align_flag) is supported)
+  AC_TRY_COMPILE([],[],,align_flag="")
+  CFLAGS="$_SAVE_CFLAGS"
+fi
+
 dnl Use echo to avoid accumulating space characters
-all_flags=`echo $arch_flag $thumb_flag $thumb_interwork_flag $fpu_flag $float_abi_flag $soft_float_flag`
+all_flags=`echo $arch_flag $thumb_flag $thumb_interwork_flag $fpu_flag $float_abi_flag $soft_float_flag $align_flag`
 if test -n "$all_flags"; then
     _SAVE_CFLAGS="$CFLAGS"
     CFLAGS="$all_flags"
     AC_MSG_CHECKING(whether the chosen combination of compiler flags ($all_flags) works)
     AC_TRY_COMPILE([],[return 0;],
         AC_MSG_RESULT([yes]),
         AC_MSG_ERROR([no]))