[oe] [PATCH 1/2] mozjs: 17.0.0 -> 52.8.1

Hongxu Jia hongxu.jia at windriver.com
Fri Jul 13 15:59:06 UTC 2018


The mozjs 52.8.1 is not official release version but
explicitly required by polkit 0.115.

It is painful to do the upgrading, build successfully on
qemux86/mips/arm/ppc, and support musl.

//Hongxu

On 2018年07月13日 23:55, Hongxu Jia wrote:
> - Refactor recipe 52.8.1
>    0001 ~ 0006
>
> - Rebase patches to 52.8.1;
>    0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
>    0010-fix-cross-compilation-on-i586-targets.patch'
>
> - Drop 0001-regenerate-configure.patch and everything works well
>
> - Drop Manually_mmap_heap_memory_esr17.patch which is backported
>
> - Drop obsolete patches
>    0001-compare-the-first-character-of-string-to-be-null-or-.patch
>    0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
>    0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch
>    0004-mozbug746112-no-decommit-on-large-pages.patch
>    0005-aarch64-64k-page.patch
>    fix_milestone_compile_issue.patch
>    fix-the-compile-error-of-powerpc64.patch
>    Update-Double-Conversion.patch and Update-the-double-conversion-update-script.patch
>
> Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> ---
>   ...-first-character-of-string-to-be-null-or-.patch |   32 -
>   .../0001-do-not-create-python-environment.patch    |   91 +
>   ...-not-include-RequiredDefines.h-for-depend.patch |   30 +-
>   ...ozjs17.0.0-fix-the-compile-bug-of-powerpc.patch |   36 -
>   .../mozjs/mozjs/0001-regenerate-configure.patch    | 3238 --------------------
>   ...02-Move-JS_BYTES_PER_WORD-out-of-config.h.patch |   75 -
>   .../mozjs/mozjs/0002-fix-cannot-find-link.patch    |   34 +
>   ...workaround-autoconf-2.13-detection-failed.patch |   28 +
>   ...se-autoconf-2.13-to-refresh-old.configure.patch |   42 +
>   ...4-mozbug746112-no-decommit-on-large-pages.patch |  103 -
>   .../mozjs/mozjs/0005-aarch64-64k-page.patch        |   44 -
>   .../mozjs/0005-fix-do_compile-failed-on-mips.patch |   38 +
>   .../mozjs/mozjs/0006-support-musl.patch            |  158 +
>   ...010-fix-cross-compilation-on-i586-targets.patch |   39 +-
>   .../mozjs/Manually_mmap_heap_memory_esr17.patch    |  112 -
>   .../mozjs/mozjs/Update-Double-Conversion.patch     | 1732 -----------
>   ...pdate-the-double-conversion-update-script.patch |  175 --
>   .../mozjs/fix-the-compile-error-of-powerpc64.patch |   18 -
>   .../mozjs/mozjs/fix_milestone_compile_issue.patch  |   20 -
>   meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb     |   83 -
>   meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb     |   89 +
>   21 files changed, 508 insertions(+), 5709 deletions(-)
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch
>   create mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch
>   create mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch
>   create mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch
>   create mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch
>   create mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
>   create mode 100644 meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/Update-Double-Conversion.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/Update-the-double-conversion-update-script.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch
>   delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
>   create mode 100644 meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb
>
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch
> deleted file mode 100644
> index 40d646c..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -From f36c9476d2816e0d3e61c9e13c22ed73883cb54a Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Mon, 24 Apr 2017 12:13:43 -0700
> -Subject: [PATCH] compare the first character of string to be null or not
> -
> -Fixes
> -
> -error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
> -|          if (value[0] == '\0')
> -|                          ^~~~
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ----
> - js/src/shell/jsoptparse.cpp | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/js/src/shell/jsoptparse.cpp b/js/src/shell/jsoptparse.cpp
> -index b49d0a5..612aa00 100644
> ---- a/js/src/shell/jsoptparse.cpp
> -+++ b/js/src/shell/jsoptparse.cpp
> -@@ -243,7 +243,7 @@ OptionParser::extractValue(size_t argc, char **argv, size_t *i, char **value)
> -     char *eq = strchr(argv[*i], '=');
> -     if (eq) {
> -         *value = eq + 1;
> --        if (value[0] == '\0')
> -+        if (value[0][0] == '\0')
> -             return error("A value is required for option %.*s", eq - argv[*i], argv[*i]);
> -         return Okay;
> -     }
> ---
> -2.12.2
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
> new file mode 100644
> index 0000000..ba317bc
> --- /dev/null
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
> @@ -0,0 +1,91 @@
> +From 5028d1cd669c179ed49061316d04c8e8862a5bd8 Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia <hongxu.jia at windriver.com>
> +Date: Thu, 12 Jul 2018 15:04:47 +0800
> +Subject: [PATCH 1/5] do not create python environment
> +
> +Use oe's python environment rather than create one of host
> +
> +Upstream-Status: Inappropriate [oe specific]
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + build/moz.configure/init.configure | 18 ------------------
> + configure.py                       | 10 +++++++++-
> + js/src/old-configure               |  4 ++--
> + 3 files changed, 11 insertions(+), 21 deletions(-)
> +
> +diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
> +index 2123beb..6fe6591 100644
> +--- a/build/moz.configure/init.configure
> ++++ b/build/moz.configure/init.configure
> +@@ -179,24 +179,6 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
> +     else:
> +         python = sys.executable
> +
> +-    if not manager.up_to_date(python):
> +-        log.info('Creating Python environment')
> +-        manager.build(python)
> +-
> +-    python = normsep(manager.python_path)
> +-
> +-    if python != normsep(sys.executable):
> +-        log.info('Reexecuting in the virtualenv')
> +-        if env_python:
> +-            del os.environ['PYTHON']
> +-        # One would prefer to use os.execl, but that's completely borked on
> +-        # Windows.
> +-        sys.exit(subprocess.call([python] + sys.argv))
> +-
> +-    # We are now in the virtualenv
> +-    if not distutils.sysconfig.get_python_lib():
> +-        die('Could not determine python site packages directory')
> +-
> +     return python
> +
> + set_config('PYTHON', virtualenv_python)
> +diff --git a/configure.py b/configure.py
> +index f7392d0..45323a5 100644
> +--- a/configure.py
> ++++ b/configure.py
> +@@ -12,7 +12,15 @@ import textwrap
> +
> +
> + base_dir = os.path.abspath(os.path.dirname(__file__))
> +-sys.path.insert(0, os.path.join(base_dir, 'python', 'mozbuild'))
> ++sys.path.insert(0, os.path.join(base_dir, 'config'))
> ++def get_immediate_subdirectories(a_dir):
> ++    return [name for name in os.listdir(a_dir)
> ++            if os.path.isdir(os.path.join(a_dir, name))]
> ++for s in ["python", "testing/mozbase"]:
> ++    sub_dir = os.path.join(base_dir, s)
> ++    for module_dir in get_immediate_subdirectories(sub_dir):
> ++        sys.path.insert(0, os.path.join(sub_dir, module_dir))
> ++
> + from mozbuild.configure import ConfigureSandbox
> + from mozbuild.util import (
> +     indented_repr,
> +diff --git a/js/src/old-configure b/js/src/old-configure
> +index ee4527b..75b00e1 100644
> +--- a/js/src/old-configure
> ++++ b/js/src/old-configure
> +@@ -10512,7 +10512,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then
> +     ;;
> +   esac
> +
> +-  eval $dumpenv $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
> ++  eval $dumpenv PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
> +
> +   done
> +
> +@@ -10931,7 +10931,7 @@ if test "$JS_STANDALONE"; then
> +
> + if test "$no_recursion" != yes; then
> +   trap '' EXIT
> +-  if ! $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
> ++  if ! PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
> +       exit 1
> +   fi
> + fi
> +--
> +2.7.4
> +
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
> index bc141d9..c111ea5 100644
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
> @@ -3,33 +3,31 @@ From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony at googlemail.com>
>   Date: Thu, 6 Jun 2013 18:36:01 +0200
>   Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending
>    packages
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
>   
>   in our cross environment the would fail with:
>   
>   | cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory
>   
>   and currently it only defines __STDC_LIMIT_MACROS
> -
>   Upstream-Status: Inappropriate [embedded specific]
> -
>   Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
> +
> +Rebase to 52.8.1
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
>   ---
> - js.pc.in |    2 +-
> - 1 files changed, 1 insertions(+), 1 deletions(-)
> + js/src/js.pc.in | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
>   
> -diff --git a/js.pc.in b/js.pc.in
> -index 13d761d..a95a7bd 100644
> ---- a/js.pc.in
> -+++ b/js.pc.in
> +diff --git a/js/src/js.pc.in b/js/src/js.pc.in
> +index 2eae393..c2dea62 100644
> +--- a/js/src/js.pc.in
> ++++ b/js/src/js.pc.in
>   @@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
>    Version: @MOZILLA_VERSION@
> - Requires.private: @NSPR_PKGCONF_CHECK@
> - Libs: -L${libdir} -l at LIBRARY_NAME@
> --Cflags: -include ${includedir}/@MODULE@/js/RequiredDefines.h -I${includedir}/@MODULE@
> -+Cflags: -I${includedir}/@MODULE@
> + @PKGCONF_REQUIRES_PRIVATE@
> + Libs: -L${libdir} -l at JS_LIBRARY_NAME@
> +-Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -I${includedir}/@JS_LIBRARY_NAME@
> ++Cflags: -I${includedir}/@JS_LIBRARY_NAME@
>   --
> -1.7.6.5
> +2.7.4
>   
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
> deleted file mode 100644
> index de72d4f..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -From da3929a96d9c74e11bf37d128890e18fcb745365 Mon Sep 17 00:00:00 2001
> -From: Lei Maohui <leimaohui at cn.fujitsu.com>
> -Date: Mon, 26 Jan 2015 08:53:19 +0900
> -Subject: [PATCH] mozjs17.0.0: fix the compile bug of powerpc
> -
> -To fix the bug as following
> -
> -error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]' for
> -argument '5' to 'JSBool TryArgumentFormatter(JSContext*, const char**,
> -JSBool, jsval**, __va_list_tag (*)[1])'
> -
> -Signed-off-by: Lei Maohui <leimaohui at cn.fujitsu.com>
> ----
> - jscpucfg.h | 6 ++++++
> - 1 file changed, 6 insertions(+)
> -
> -diff --git a/jscpucfg.h b/jscpucfg.h
> -index dfb1c14..8683491 100644
> ---- a/jscpucfg.h
> -+++ b/jscpucfg.h
> -@@ -47,6 +47,12 @@
> - #elif defined(JS_HAVE_ENDIAN_H)
> - # include <endian.h>
> -
> -+#if defined(_POWER) || defined(__powerpc__) || \
> -+    defined(__ppc__)
> -+# define HAVE_VA_LIST_AS_ARRAY 1
> -+# endif
> -+
> -+
> - # if defined(__BYTE_ORDER)
> - #  if __BYTE_ORDER == __LITTLE_ENDIAN
> - #   define IS_LITTLE_ENDIAN 1
> ---
> -1.8.4.2
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch
> deleted file mode 100644
> index fa413ea..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch
> +++ /dev/null
> @@ -1,3238 +0,0 @@
> -From 6440b4901c6f4bcc69686ff10806e311cc5a927b Mon Sep 17 00:00:00 2001
> -From: Koen Kooi <koen.kooi at linaro.org>
> -Date: Tue, 3 Mar 2015 19:12:17 +0800
> -Subject: [PATCH] regenerate configure with autoconf-2.13
> -
> -Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> -Upstream-status: Inappropriate [generated file]
> -
> ----
> - js/src/configure | 838 ++++++++++++++++++++++++++-----------------------------
> - 1 file changed, 389 insertions(+), 449 deletions(-)
> -
> -diff --git a/js/src/configure b/js/src/configure
> -index cb6b41b..b05298f 100755
> ---- a/js/src/configure
> -+++ b/js/src/configure
> -@@ -5757,6 +5757,10 @@ arm*)
> -     CPU_ARCH=arm
> -     ;;
> -
> -+aarch64*)
> -+    CPU_ARCH=aarch64
> -+    ;;
> -+
> - mips|mipsel)
> -     CPU_ARCH="mips"
> -     ;;
> -@@ -5893,14 +5897,14 @@ no)
> -     _SAVE_CFLAGS="$CFLAGS"
> -     CFLAGS="$arch_flag"
> -     cat > conftest.$ac_ext <<EOF
> --#line 5897 "configure"
> -+#line 5901 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return sizeof(__thumb2__);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:5904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:5908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   MOZ_THUMB2=1
> - else
> -@@ -5972,16 +5976,16 @@ if test -n "$all_flags"; then
> -     _SAVE_CFLAGS="$CFLAGS"
> -     CFLAGS="$all_flags"
> -     echo $ac_n "checking whether the chosen combination of compiler flags ($all_flags) works""... $ac_c" 1>&6
> --echo "configure:5976: checking whether the chosen combination of compiler flags ($all_flags) works" >&5
> -+echo "configure:5980: checking whether the chosen combination of compiler flags ($all_flags) works" >&5
> -     cat > conftest.$ac_ext <<EOF
> --#line 5978 "configure"
> -+#line 5982 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:5985: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:5989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   echo "$ac_t""yes" 1>&6
> - else
> -@@ -6004,18 +6008,18 @@ fi
> -
> - if test "$CPU_ARCH" = "arm"; then
> -   echo $ac_n "checking for ARM SIMD support in compiler""... $ac_c" 1>&6
> --echo "configure:6008: checking for ARM SIMD support in compiler" >&5
> -+echo "configure:6012: checking for ARM SIMD support in compiler" >&5
> -   # We try to link so that this also fails when
> -   # building with LTO.
> -   cat > conftest.$ac_ext <<EOF
> --#line 6012 "configure"
> -+#line 6016 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - asm("uqadd8 r1, r1, r2");
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:6023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   result="yes"
> - else
> -@@ -6038,18 +6042,18 @@ EOF
> -   fi
> -
> -   echo $ac_n "checking for ARM NEON support in compiler""... $ac_c" 1>&6
> --echo "configure:6042: checking for ARM NEON support in compiler" >&5
> -+echo "configure:6046: checking for ARM NEON support in compiler" >&5
> -   # We try to link so that this also fails when
> -   # building with LTO.
> -   cat > conftest.$ac_ext <<EOF
> --#line 6046 "configure"
> -+#line 6050 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - asm(".fpu neon\n vadd.i8 d0, d0, d0");
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:6057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   result="yes"
> - else
> -@@ -6094,7 +6098,7 @@ configure_static_assert_macros='
> - '
> -
> - echo $ac_n "checking that static assertion macros used in autoconf tests work""... $ac_c" 1>&6
> --echo "configure:6098: checking that static assertion macros used in autoconf tests work" >&5
> -+echo "configure:6102: checking that static assertion macros used in autoconf tests work" >&5
> - if eval "test \"`echo '$''{'ac_cv_static_assertion_macros_work'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6108,14 +6112,14 @@ cross_compiling=$ac_cv_prog_cc_cross
> -
> -   ac_cv_static_assertion_macros_work="yes"
> -   cat > conftest.$ac_ext <<EOF
> --#line 6112 "configure"
> -+#line 6116 "configure"
> - #include "confdefs.h"
> - $configure_static_assert_macros
> - int main() {
> - CONFIGURE_STATIC_ASSERT(1)
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   :
> - else
> -   echo "configure: failed program was:" >&5
> -@@ -6125,14 +6129,14 @@ else
> - fi
> - rm -f conftest*
> -   cat > conftest.$ac_ext <<EOF
> --#line 6129 "configure"
> -+#line 6133 "configure"
> - #include "confdefs.h"
> - $configure_static_assert_macros
> - int main() {
> - CONFIGURE_STATIC_ASSERT(0)
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6136: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_static_assertion_macros_work="no"
> - else
> -@@ -6148,14 +6152,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
> - cross_compiling=$ac_cv_prog_cxx_cross
> -
> -   cat > conftest.$ac_ext <<EOF
> --#line 6152 "configure"
> -+#line 6156 "configure"
> - #include "confdefs.h"
> - $configure_static_assert_macros
> - int main() {
> - CONFIGURE_STATIC_ASSERT(1)
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   :
> - else
> -   echo "configure: failed program was:" >&5
> -@@ -6165,14 +6169,14 @@ else
> - fi
> - rm -f conftest*
> -   cat > conftest.$ac_ext <<EOF
> --#line 6169 "configure"
> -+#line 6173 "configure"
> - #include "confdefs.h"
> - $configure_static_assert_macros
> - int main() {
> - CONFIGURE_STATIC_ASSERT(0)
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_static_assertion_macros_work="no"
> - else
> -@@ -6317,7 +6321,7 @@ if test "$GNU_CC"; then
> -     _WARNINGS_CFLAGS="${_WARNINGS_CFLAGS} -Wall -Wpointer-arith -Wdeclaration-after-statement"
> -
> -     echo $ac_n "checking whether the C compiler supports -Werror=return-type""... $ac_c" 1>&6
> --echo "configure:6321: checking whether the C compiler supports -Werror=return-type" >&5
> -+echo "configure:6325: checking whether the C compiler supports -Werror=return-type" >&5
> - if eval "test \"`echo '$''{'ac_c_has_werror_return_type'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6333,14 +6337,14 @@ cross_compiling=$ac_cv_prog_cc_cross
> -             _SAVE_CFLAGS="$CFLAGS"
> -             CFLAGS="$CFLAGS -Werror -Werror=return-type"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6337 "configure"
> -+#line 6341 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_c_has_werror_return_type="yes"
> - else
> -@@ -6368,7 +6372,7 @@ echo "$ac_t""$ac_c_has_werror_return_type" 1>&6
> -
> -
> -     echo $ac_n "checking whether the C compiler supports -Wtype-limits""... $ac_c" 1>&6
> --echo "configure:6372: checking whether the C compiler supports -Wtype-limits" >&5
> -+echo "configure:6376: checking whether the C compiler supports -Wtype-limits" >&5
> - if eval "test \"`echo '$''{'ac_c_has_wtype_limits'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6384,14 +6388,14 @@ cross_compiling=$ac_cv_prog_cc_cross
> -             _SAVE_CFLAGS="$CFLAGS"
> -             CFLAGS="$CFLAGS -Werror -Wtype-limits"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6388 "configure"
> -+#line 6392 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_c_has_wtype_limits="yes"
> - else
> -@@ -6419,7 +6423,7 @@ echo "$ac_t""$ac_c_has_wtype_limits" 1>&6
> -
> -
> -     echo $ac_n "checking whether the C compiler supports -Wempty-body""... $ac_c" 1>&6
> --echo "configure:6423: checking whether the C compiler supports -Wempty-body" >&5
> -+echo "configure:6427: checking whether the C compiler supports -Wempty-body" >&5
> - if eval "test \"`echo '$''{'ac_c_has_wempty_body'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6435,14 +6439,14 @@ cross_compiling=$ac_cv_prog_cc_cross
> -             _SAVE_CFLAGS="$CFLAGS"
> -             CFLAGS="$CFLAGS -Werror -Wempty-body"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6439 "configure"
> -+#line 6443 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6446: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_c_has_wempty_body="yes"
> - else
> -@@ -6476,7 +6480,7 @@ echo "$ac_t""$ac_c_has_wempty_body" 1>&6
> -     _WARNINGS_CFLAGS="${_WARNINGS_CFLAGS} -Wno-unused"
> -
> -     echo $ac_n "checking whether the C compiler supports -Wno-overlength-strings""... $ac_c" 1>&6
> --echo "configure:6480: checking whether the C compiler supports -Wno-overlength-strings" >&5
> -+echo "configure:6484: checking whether the C compiler supports -Wno-overlength-strings" >&5
> - if eval "test \"`echo '$''{'ac_c_has_wno_overlength_strings'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6492,14 +6496,14 @@ cross_compiling=$ac_cv_prog_cc_cross
> -             _SAVE_CFLAGS="$CFLAGS"
> -             CFLAGS="$CFLAGS -Werror -Woverlength-strings"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6496 "configure"
> -+#line 6500 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6507: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_c_has_wno_overlength_strings="yes"
> - else
> -@@ -6580,7 +6584,7 @@ if test "$GNU_CXX"; then
> -     _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wall -Wpointer-arith -Woverloaded-virtual"
> -
> -     echo $ac_n "checking whether the C++ compiler supports -Werror=return-type""... $ac_c" 1>&6
> --echo "configure:6584: checking whether the C++ compiler supports -Werror=return-type" >&5
> -+echo "configure:6588: checking whether the C++ compiler supports -Werror=return-type" >&5
> - if eval "test \"`echo '$''{'ac_cxx_has_werror_return_type'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6596,14 +6600,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -             _SAVE_CXXFLAGS="$CXXFLAGS"
> -             CXXFLAGS="$CXXFLAGS -Werror -Werror=return-type"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6600 "configure"
> -+#line 6604 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6607: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6611: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cxx_has_werror_return_type="yes"
> - else
> -@@ -6631,7 +6635,7 @@ echo "$ac_t""$ac_cxx_has_werror_return_type" 1>&6
> -
> -
> -     echo $ac_n "checking whether the C++ compiler supports -Wtype-limits""... $ac_c" 1>&6
> --echo "configure:6635: checking whether the C++ compiler supports -Wtype-limits" >&5
> -+echo "configure:6639: checking whether the C++ compiler supports -Wtype-limits" >&5
> - if eval "test \"`echo '$''{'ac_cxx_has_wtype_limits'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6647,14 +6651,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -             _SAVE_CXXFLAGS="$CXXFLAGS"
> -             CXXFLAGS="$CXXFLAGS -Werror -Wtype-limits"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6651 "configure"
> -+#line 6655 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cxx_has_wtype_limits="yes"
> - else
> -@@ -6682,7 +6686,7 @@ echo "$ac_t""$ac_cxx_has_wtype_limits" 1>&6
> -
> -
> -     echo $ac_n "checking whether the C++ compiler supports -Wempty-body""... $ac_c" 1>&6
> --echo "configure:6686: checking whether the C++ compiler supports -Wempty-body" >&5
> -+echo "configure:6690: checking whether the C++ compiler supports -Wempty-body" >&5
> - if eval "test \"`echo '$''{'ac_cxx_has_wempty_body'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6698,14 +6702,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -             _SAVE_CXXFLAGS="$CXXFLAGS"
> -             CXXFLAGS="$CXXFLAGS -Werror -Wempty-body"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6702 "configure"
> -+#line 6706 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cxx_has_wempty_body="yes"
> - else
> -@@ -6741,7 +6745,7 @@ echo "$ac_t""$ac_cxx_has_wempty_body" 1>&6
> -     _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-ctor-dtor-privacy"
> -
> -     echo $ac_n "checking whether the C++ compiler supports -Wno-overlength-strings""... $ac_c" 1>&6
> --echo "configure:6745: checking whether the C++ compiler supports -Wno-overlength-strings" >&5
> -+echo "configure:6749: checking whether the C++ compiler supports -Wno-overlength-strings" >&5
> - if eval "test \"`echo '$''{'ac_cxx_has_wno_overlength_strings'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6757,14 +6761,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -             _SAVE_CXXFLAGS="$CXXFLAGS"
> -             CXXFLAGS="$CXXFLAGS -Werror -Woverlength-strings"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6761 "configure"
> -+#line 6765 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cxx_has_wno_overlength_strings="yes"
> - else
> -@@ -6792,7 +6796,7 @@ echo "$ac_t""$ac_cxx_has_wno_overlength_strings" 1>&6
> -
> -
> -     echo $ac_n "checking whether the C++ compiler supports -Wno-invalid-offsetof""... $ac_c" 1>&6
> --echo "configure:6796: checking whether the C++ compiler supports -Wno-invalid-offsetof" >&5
> -+echo "configure:6800: checking whether the C++ compiler supports -Wno-invalid-offsetof" >&5
> - if eval "test \"`echo '$''{'ac_cxx_has_wno_invalid_offsetof'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6808,14 +6812,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -             _SAVE_CXXFLAGS="$CXXFLAGS"
> -             CXXFLAGS="$CXXFLAGS -Werror -Winvalid-offsetof"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6812 "configure"
> -+#line 6816 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cxx_has_wno_invalid_offsetof="yes"
> - else
> -@@ -6843,7 +6847,7 @@ echo "$ac_t""$ac_cxx_has_wno_invalid_offsetof" 1>&6
> -
> -
> -     echo $ac_n "checking whether the C++ compiler supports -Wno-variadic-macros""... $ac_c" 1>&6
> --echo "configure:6847: checking whether the C++ compiler supports -Wno-variadic-macros" >&5
> -+echo "configure:6851: checking whether the C++ compiler supports -Wno-variadic-macros" >&5
> - if eval "test \"`echo '$''{'ac_cxx_has_wno_variadic_macros'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6859,14 +6863,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -             _SAVE_CXXFLAGS="$CXXFLAGS"
> -             CXXFLAGS="$CXXFLAGS -Werror -Wvariadic-macros"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6863 "configure"
> -+#line 6867 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cxx_has_wno_variadic_macros="yes"
> - else
> -@@ -6918,7 +6922,7 @@ echo "$ac_t""$ac_cxx_has_wno_variadic_macros" 1>&6
> -         _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-c++0x-extensions"
> -
> -     echo $ac_n "checking whether the C++ compiler supports -Wno-extended-offsetof""... $ac_c" 1>&6
> --echo "configure:6922: checking whether the C++ compiler supports -Wno-extended-offsetof" >&5
> -+echo "configure:6926: checking whether the C++ compiler supports -Wno-extended-offsetof" >&5
> - if eval "test \"`echo '$''{'ac_cxx_has_wno_extended_offsetof'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6934,14 +6938,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -             _SAVE_CXXFLAGS="$CXXFLAGS"
> -             CXXFLAGS="$CXXFLAGS -Werror -Wextended-offsetof"
> -             cat > conftest.$ac_ext <<EOF
> --#line 6938 "configure"
> -+#line 6942 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return(0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:6945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:6949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cxx_has_wno_extended_offsetof="yes"
> - else
> -@@ -6979,7 +6983,7 @@ MKSHLIB_UNFORCE_ALL=
> - if test "$COMPILE_ENVIRONMENT"; then
> - if test "$GNU_CC"; then
> -   echo $ac_n "checking whether ld has archive extraction flags""... $ac_c" 1>&6
> --echo "configure:6983: checking whether ld has archive extraction flags" >&5
> -+echo "configure:6987: checking whether ld has archive extraction flags" >&5
> -   if eval "test \"`echo '$''{'ac_cv_mkshlib_force_and_unforce'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -6996,14 +7000,14 @@ LOOP_INPUT
> -       LDFLAGS=$force
> -       LIBS=$unforce
> -       cat > conftest.$ac_ext <<EOF
> --#line 7000 "configure"
> -+#line 7004 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:7007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:7011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_mkshlib_force_and_unforce=$line; break
> - else
> -@@ -7038,16 +7042,16 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
> - cross_compiling=$ac_cv_prog_cc_cross
> -
> - echo $ac_n "checking for 64-bit OS""... $ac_c" 1>&6
> --echo "configure:7042: checking for 64-bit OS" >&5
> -+echo "configure:7046: checking for 64-bit OS" >&5
> - cat > conftest.$ac_ext <<EOF
> --#line 7044 "configure"
> -+#line 7048 "configure"
> - #include "confdefs.h"
> - $configure_static_assert_macros
> - int main() {
> - CONFIGURE_STATIC_ASSERT(sizeof(void*) == 8)
> - ; return 0; }
> - EOF
> --if { (eval echo configure:7051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:7055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   result="yes"
> - else
> -@@ -7170,7 +7174,7 @@ case "$host" in
> - esac
> -
> - echo $ac_n "checking for Python version >= $PYTHON_VERSION but not 3.x""... $ac_c" 1>&6
> --echo "configure:7174: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5
> -+echo "configure:7178: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5
> -
> - $PYTHON -c "import sys; sys.exit(sys.version[:3] < sys.argv[1] or sys.version[:2] != '2.')" $PYTHON_VERSION
> - _python_res=$?
> -@@ -7181,7 +7185,7 @@ fi
> - echo "$ac_t""yes" 1>&6
> -
> - echo $ac_n "checking for custom <stdint.h> implementation""... $ac_c" 1>&6
> --echo "configure:7185: checking for custom <stdint.h> implementation" >&5
> -+echo "configure:7189: checking for custom <stdint.h> implementation" >&5
> - if test "$MOZ_CUSTOM_STDINT_H"; then
> -   cat >> confdefs.pytmp <<EOF
> -         (''' MOZ_CUSTOM_STDINT_H ''', r''' "$MOZ_CUSTOM_STDINT_H" ''')
> -@@ -7249,9 +7253,9 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
> - cross_compiling=$ac_cv_prog_cxx_cross
> -
> -             echo $ac_n "checking for IBM XLC/C++ compiler version >= 9.0.0.7""... $ac_c" 1>&6
> --echo "configure:7253: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5
> -+echo "configure:7257: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5
> -             cat > conftest.$ac_ext <<EOF
> --#line 7255 "configure"
> -+#line 7259 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -@@ -7260,7 +7264,7 @@ int main() {
> -                  #endif
> - ; return 0; }
> - EOF
> --if { (eval echo configure:7264: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:7268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   _BAD_COMPILER=
> - else
> -@@ -7298,12 +7302,12 @@ cross_compiling=$ac_cv_prog_cc_cross
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:7302: checking for $ac_hdr" >&5
> -+echo "configure:7306: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 7307 "configure"
> -+#line 7311 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -7311,7 +7315,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:7315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:7319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -7394,17 +7398,17 @@ EOF
> -     # builds.
> -     _SAVE_LDFLAGS=$LDFLAGS
> -      echo $ac_n "checking for -framework ExceptionHandling""... $ac_c" 1>&6
> --echo "configure:7398: checking for -framework ExceptionHandling" >&5
> -+echo "configure:7402: checking for -framework ExceptionHandling" >&5
> -     LDFLAGS="$LDFLAGS -framework ExceptionHandling"
> -     cat > conftest.$ac_ext <<EOF
> --#line 7401 "configure"
> -+#line 7405 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:7408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:7412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_have_framework_exceptionhandling="yes"
> - else
> -@@ -7426,18 +7430,18 @@ rm -f conftest*
> -         echo "Skipping -dead_strip because DTrace is enabled. See bug 403132."
> -     else
> -                 echo $ac_n "checking for -dead_strip option to ld""... $ac_c" 1>&6
> --echo "configure:7430: checking for -dead_strip option to ld" >&5
> -+echo "configure:7434: checking for -dead_strip option to ld" >&5
> -         _SAVE_LDFLAGS=$LDFLAGS
> -         LDFLAGS="$LDFLAGS -Wl,-dead_strip"
> -         cat > conftest.$ac_ext <<EOF
> --#line 7434 "configure"
> -+#line 7438 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:7441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:7445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   _HAVE_DEAD_STRIP=1
> - else
> -@@ -7783,12 +7787,12 @@ EOF
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:7787: checking for $ac_hdr" >&5
> -+echo "configure:7791: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 7792 "configure"
> -+#line 7796 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -7796,7 +7800,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:7800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:7804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -7989,19 +7993,19 @@ EOF
> -     _DEFINES_CXXFLAGS="$_DEFINES_CXXFLAGS -Uunix -U__unix -U__unix__"
> -
> -     echo $ac_n "checking for __declspec(dllexport)""... $ac_c" 1>&6
> --echo "configure:7993: checking for __declspec(dllexport)" >&5
> -+echo "configure:7997: checking for __declspec(dllexport)" >&5
> - if eval "test \"`echo '$''{'ac_os2_declspec'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 7998 "configure"
> -+#line 8002 "configure"
> - #include "confdefs.h"
> - __declspec(dllexport) void ac_os2_declspec(void) {}
> - int main() {
> - return 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:8005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:8009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_os2_declspec="yes"
> - else
> -@@ -8054,14 +8058,14 @@ EOF
> -            _SAVE_LDFLAGS=$LDFLAGS
> -            LDFLAGS="-M /usr/lib/ld/map.noexstk $LDFLAGS"
> -            cat > conftest.$ac_ext <<EOF
> --#line 8058 "configure"
> -+#line 8062 "configure"
> - #include "confdefs.h"
> - #include <stdio.h>
> - int main() {
> - printf("Hello World\n");
> - ; return 0; }
> - EOF
> --if { (eval echo configure:8065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:8069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   :
> - else
> -   echo "configure: failed program was:" >&5
> -@@ -8089,7 +8093,7 @@ rm -f conftest*
> -        CC_VERSION=`$CC -V 2>&1 | grep '^cc:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
> -        CXX_VERSION=`$CXX -V 2>&1 | grep '^CC:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
> -        echo $ac_n "checking for Sun C++ compiler version >= 5.9""... $ac_c" 1>&6
> --echo "configure:8093: checking for Sun C++ compiler version >= 5.9" >&5
> -+echo "configure:8097: checking for Sun C++ compiler version >= 5.9" >&5
> -
> -        ac_ext=C
> - # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
> -@@ -8099,7 +8103,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
> - cross_compiling=$ac_cv_prog_cxx_cross
> -
> -        cat > conftest.$ac_ext <<EOF
> --#line 8103 "configure"
> -+#line 8107 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -@@ -8108,7 +8112,7 @@ int main() {
> -            #endif
> - ; return 0; }
> - EOF
> --if { (eval echo configure:8112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:8116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   _BAD_COMPILER=
> - else
> -@@ -8125,7 +8129,7 @@ rm -f conftest*
> -            _res="yes"
> -        fi
> -        cat > conftest.$ac_ext <<EOF
> --#line 8129 "configure"
> -+#line 8133 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -@@ -8134,7 +8138,7 @@ int main() {
> -            #endif
> - ; return 0; }
> - EOF
> --if { (eval echo configure:8138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:8142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   _ABOVE_SS12U1=
> - else
> -@@ -8535,7 +8539,7 @@ fi
> -
> - if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -z "$MOZ_DISABLE_ICF"; then
> -     echo $ac_n "checking whether the linker supports Identical Code Folding""... $ac_c" 1>&6
> --echo "configure:8539: checking whether the linker supports Identical Code Folding" >&5
> -+echo "configure:8543: checking whether the linker supports Identical Code Folding" >&5
> - if eval "test \"`echo '$''{'LD_SUPPORTS_ICF'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -8544,7 +8548,7 @@ else
> -               'int main() {return foo() - bar();}' > conftest.${ac_ext}
> -         # If the linker supports ICF, foo and bar symbols will have
> -         # the same address
> --        if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS -Wl,--icf=safe -ffunction-sections conftest.${ac_ext} $LIBS 1>&2'; { (eval echo configure:8548: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } &&
> -+        if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS -Wl,--icf=safe -ffunction-sections conftest.${ac_ext} $LIBS 1>&2'; { (eval echo configure:8552: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } &&
> -            test -s conftest${ac_exeext} &&
> -            objdump -t conftest${ac_exeext} | awk '{a[$6] = $1} END {if (a["foo"] && (a["foo"] != a["bar"])) { exit 1 }}'; then
> -             LD_SUPPORTS_ICF=yes
> -@@ -8559,14 +8563,14 @@ echo "$ac_t""$LD_SUPPORTS_ICF" 1>&6
> -         _SAVE_LDFLAGS="$LDFLAGS -Wl,--icf=safe"
> -         LDFLAGS="$LDFLAGS -Wl,--icf=safe -Wl,--print-icf-sections"
> -         cat > conftest.$ac_ext <<EOF
> --#line 8563 "configure"
> -+#line 8567 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:8570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:8574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   LD_PRINT_ICF_SECTIONS=-Wl,--print-icf-sections
> - else
> -@@ -8584,15 +8588,15 @@ fi
> -
> - if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -n "$MOZ_DEBUG_FLAGS"; then
> -       echo $ac_n "checking whether removing dead symbols breaks debugging""... $ac_c" 1>&6
> --echo "configure:8588: checking whether removing dead symbols breaks debugging" >&5
> -+echo "configure:8592: checking whether removing dead symbols breaks debugging" >&5
> - if eval "test \"`echo '$''{'GC_SECTIONS_BREAKS_DEBUG_RANGES'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   echo 'int foo() {return 42;}' \
> -              'int bar() {return 1;}' \
> -              'int main() {return foo();}' > conftest.${ac_ext}
> --        if { ac_try='${CC-cc} -o conftest.${ac_objext} $CFLAGS $MOZ_DEBUG_FLAGS -c conftest.${ac_ext} 1>&2'; { (eval echo configure:8595: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } &&
> --           { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS $MOZ_DEBUG_FLAGS -Wl,--gc-sections conftest.${ac_objext} $LIBS 1>&2'; { (eval echo configure:8596: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } &&
> -+        if { ac_try='${CC-cc} -o conftest.${ac_objext} $CFLAGS $MOZ_DEBUG_FLAGS -c conftest.${ac_ext} 1>&2'; { (eval echo configure:8599: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } &&
> -+           { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS $MOZ_DEBUG_FLAGS -Wl,--gc-sections conftest.${ac_objext} $LIBS 1>&2'; { (eval echo configure:8600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } &&
> -            test -s conftest${ac_exeext} -a -s conftest.${ac_objext}; then
> -             if test "`$PYTHON "$_topsrcdir"/build/autoconf/check_debug_ranges.py conftest.${ac_objext} conftest.${ac_ext}`" = \
> -                     "`$PYTHON "$_topsrcdir"/build/autoconf/check_debug_ranges.py conftest${ac_exeext} conftest.${ac_ext}`"; then
> -@@ -8615,12 +8619,12 @@ fi
> -
> - if test -z "$SKIP_COMPILER_CHECKS"; then
> - echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
> --echo "configure:8619: checking for ANSI C header files" >&5
> -+echo "configure:8623: checking for ANSI C header files" >&5
> - if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8624 "configure"
> -+#line 8628 "configure"
> - #include "confdefs.h"
> - #include <stdlib.h>
> - #include <stdarg.h>
> -@@ -8628,7 +8632,7 @@ else
> - #include <float.h>
> - EOF
> - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
> --{ (eval echo configure:8632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
> -+{ (eval echo configure:8636: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
> - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
> - if test -z "$ac_err"; then
> -   rm -rf conftest*
> -@@ -8645,7 +8649,7 @@ rm -f conftest*
> - if test $ac_cv_header_stdc = yes; then
> -   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
> - cat > conftest.$ac_ext <<EOF
> --#line 8649 "configure"
> -+#line 8653 "configure"
> - #include "confdefs.h"
> - #include <string.h>
> - EOF
> -@@ -8663,7 +8667,7 @@ fi
> - if test $ac_cv_header_stdc = yes; then
> -   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
> - cat > conftest.$ac_ext <<EOF
> --#line 8667 "configure"
> -+#line 8671 "configure"
> - #include "confdefs.h"
> - #include <stdlib.h>
> - EOF
> -@@ -8684,7 +8688,7 @@ if test "$cross_compiling" = yes; then
> -   :
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8688 "configure"
> -+#line 8692 "configure"
> - #include "confdefs.h"
> - #include <ctype.h>
> - #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
> -@@ -8695,7 +8699,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
> - exit (0); }
> -
> - EOF
> --if { (eval echo configure:8699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:8703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   :
> - else
> -@@ -8722,12 +8726,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking for working const""... $ac_c" 1>&6
> --echo "configure:8726: checking for working const" >&5
> -+echo "configure:8730: checking for working const" >&5
> - if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8731 "configure"
> -+#line 8735 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -@@ -8776,7 +8780,7 @@ ccp = (char const *const *) p;
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:8780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:8784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_c_const=yes
> - else
> -@@ -8800,12 +8804,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking for mode_t""... $ac_c" 1>&6
> --echo "configure:8804: checking for mode_t" >&5
> -+echo "configure:8808: checking for mode_t" >&5
> - if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8809 "configure"
> -+#line 8813 "configure"
> - #include "confdefs.h"
> - #include <sys/types.h>
> - #if STDC_HEADERS
> -@@ -8836,12 +8840,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking for off_t""... $ac_c" 1>&6
> --echo "configure:8840: checking for off_t" >&5
> -+echo "configure:8844: checking for off_t" >&5
> - if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8845 "configure"
> -+#line 8849 "configure"
> - #include "confdefs.h"
> - #include <sys/types.h>
> - #if STDC_HEADERS
> -@@ -8872,12 +8876,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking for pid_t""... $ac_c" 1>&6
> --echo "configure:8876: checking for pid_t" >&5
> -+echo "configure:8880: checking for pid_t" >&5
> - if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8881 "configure"
> -+#line 8885 "configure"
> - #include "confdefs.h"
> - #include <sys/types.h>
> - #if STDC_HEADERS
> -@@ -8908,12 +8912,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking for size_t""... $ac_c" 1>&6
> --echo "configure:8912: checking for size_t" >&5
> -+echo "configure:8916: checking for size_t" >&5
> - if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8917 "configure"
> -+#line 8921 "configure"
> - #include "confdefs.h"
> - #include <sys/types.h>
> - #if STDC_HEADERS
> -@@ -8951,12 +8955,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
> - cross_compiling=$ac_cv_prog_cxx_cross
> -
> - echo $ac_n "checking for __stdcall""... $ac_c" 1>&6
> --echo "configure:8955: checking for __stdcall" >&5
> -+echo "configure:8959: checking for __stdcall" >&5
> - if eval "test \"`echo '$''{'ac_cv___stdcall'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 8960 "configure"
> -+#line 8964 "configure"
> - #include "confdefs.h"
> - template <typename Method> struct foo;
> -                   template <> struct foo<void (*)()> {};
> -@@ -8965,7 +8969,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:8969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:8973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv___stdcall=true
> - else
> -@@ -8997,12 +9001,12 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
> - cross_compiling=$ac_cv_prog_cc_cross
> -
> - echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
> --echo "configure:9001: checking for ssize_t" >&5
> -+echo "configure:9005: checking for ssize_t" >&5
> - if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9006 "configure"
> -+#line 9010 "configure"
> - #include "confdefs.h"
> - #include <stdio.h>
> -                   #include <sys/types.h>
> -@@ -9010,7 +9014,7 @@ int main() {
> - ssize_t foo = 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9018: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_type_ssize_t=true
> - else
> -@@ -9035,12 +9039,12 @@ else
> -   echo "$ac_t""no" 1>&6
> - fi
> - echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
> --echo "configure:9039: checking for st_blksize in struct stat" >&5
> -+echo "configure:9043: checking for st_blksize in struct stat" >&5
> - if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9044 "configure"
> -+#line 9048 "configure"
> - #include "confdefs.h"
> - #include <sys/types.h>
> - #include <sys/stat.h>
> -@@ -9048,7 +9052,7 @@ int main() {
> - struct stat s; s.st_blksize;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_struct_st_blksize=yes
> - else
> -@@ -9072,12 +9076,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking for siginfo_t""... $ac_c" 1>&6
> --echo "configure:9076: checking for siginfo_t" >&5
> -+echo "configure:9080: checking for siginfo_t" >&5
> - if eval "test \"`echo '$''{'ac_cv_siginfo_t'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9081 "configure"
> -+#line 9085 "configure"
> - #include "confdefs.h"
> - #define _POSIX_C_SOURCE 199506L
> -                   #include <signal.h>
> -@@ -9085,7 +9089,7 @@ int main() {
> - siginfo_t* info;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_siginfo_t=true
> - else
> -@@ -9111,72 +9115,8 @@ else
> - fi
> -
> -
> --echo $ac_n "checking for the size of void*""... $ac_c" 1>&6
> --echo "configure:9116: checking for the size of void*" >&5
> --if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_WORD'+set}'`\" = set"; then
> --  echo $ac_n "(cached) $ac_c" 1>&6
> --else
> --
> --  moz_cv_size_of_JS_BYTES_PER_WORD=
> --  for size in 4 8; do
> --    cat > conftest.$ac_ext <<EOF
> --#line 9124 "configure"
> --#include "confdefs.h"
> --
> --int main() {
> --
> --                     int a[sizeof (void*) == $size ? 1 : -1];
> --                     return 0;
> --
> --; return 0; }
> --EOF
> --if { (eval echo configure:9134: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> --  rm -rf conftest*
> --  moz_cv_size_of_JS_BYTES_PER_WORD=$size; break
> --else
> --  echo "configure: failed program was:" >&5
> --  cat conftest.$ac_ext >&5
> --fi
> --rm -f conftest*
> --  done
> --  if test ! "$moz_cv_size_of_JS_BYTES_PER_WORD"; then
> --    { echo "configure: error: No size found for void*" 1>&2; exit 1; }
> --  fi
> --
> --fi
> --
> --echo "$ac_t""$moz_cv_size_of_JS_BYTES_PER_WORD" 1>&6
> --cat >> confdefs.pytmp <<EOF
> --        (''' JS_BYTES_PER_WORD ''', r''' $moz_cv_size_of_JS_BYTES_PER_WORD ''')
> --EOF
> --cat >> confdefs.h <<EOF
> --#define JS_BYTES_PER_WORD $moz_cv_size_of_JS_BYTES_PER_WORD
> --EOF
> --
> --
> --if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then
> --  cat >> confdefs.pytmp <<\EOF
> --        (''' JS_BITS_PER_WORD_LOG2 ''', r''' 5 ''')
> --EOF
> --cat >> confdefs.h <<\EOF
> --#define JS_BITS_PER_WORD_LOG2 5
> --EOF
> --
> --elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then
> --  cat >> confdefs.pytmp <<\EOF
> --        (''' JS_BITS_PER_WORD_LOG2 ''', r''' 6 ''')
> --EOF
> --cat >> confdefs.h <<\EOF
> --#define JS_BITS_PER_WORD_LOG2 6
> --EOF
> --
> --else
> --  { echo "configure: error: Unexpected JS_BYTES_PER_WORD" 1>&2; exit 1; }
> --fi
> --
> --
> - echo $ac_n "checking for the alignment of void*""... $ac_c" 1>&6
> --echo "configure:9180: checking for the alignment of void*" >&5
> -+echo "configure:9120: checking for the alignment of void*" >&5
> - if eval "test \"`echo '$''{'moz_cv_align_of_JS_ALIGN_OF_POINTER'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -9184,7 +9124,7 @@ else
> -   moz_cv_align_of_JS_ALIGN_OF_POINTER=
> -   for align in 2 4 8 16; do
> -     cat > conftest.$ac_ext <<EOF
> --#line 9188 "configure"
> -+#line 9128 "configure"
> - #include "confdefs.h"
> -
> -                      #include <stddef.h>
> -@@ -9197,7 +9137,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   moz_cv_align_of_JS_ALIGN_OF_POINTER=$align; break
> - else
> -@@ -9223,7 +9163,7 @@ EOF
> -
> -
> - echo $ac_n "checking for the size of double""... $ac_c" 1>&6
> --echo "configure:9227: checking for the size of double" >&5
> -+echo "configure:9167: checking for the size of double" >&5
> - if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_DOUBLE'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -9231,7 +9171,7 @@ else
> -   moz_cv_size_of_JS_BYTES_PER_DOUBLE=
> -   for size in 6 8 10 12 14; do
> -     cat > conftest.$ac_ext <<EOF
> --#line 9235 "configure"
> -+#line 9175 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -@@ -9241,7 +9181,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9185: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   moz_cv_size_of_JS_BYTES_PER_DOUBLE=$size; break
> - else
> -@@ -9270,12 +9210,12 @@ EOF
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:9274: checking for $ac_hdr" >&5
> -+echo "configure:9214: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 9279 "configure"
> -+#line 9219 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -9283,7 +9223,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -9326,12 +9266,12 @@ fi
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:9330: checking for $ac_hdr" >&5
> -+echo "configure:9270: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 9335 "configure"
> -+#line 9275 "configure"
> - #include "confdefs.h"
> - #include <sys/types.h>
> - #include <$ac_hdr>
> -@@ -9339,7 +9279,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -9382,12 +9322,12 @@ fi
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:9386: checking for $ac_hdr" >&5
> -+echo "configure:9326: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 9391 "configure"
> -+#line 9331 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -9395,7 +9335,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -9435,12 +9375,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking for uint""... $ac_c" 1>&6
> --echo "configure:9439: checking for uint" >&5
> -+echo "configure:9379: checking for uint" >&5
> - if eval "test \"`echo '$''{'ac_cv_uint'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9444 "configure"
> -+#line 9384 "configure"
> - #include "confdefs.h"
> - #include <stdio.h>
> -                   #include <sys/types.h>
> -@@ -9448,7 +9388,7 @@ int main() {
> - uint foo = 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9452: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9392: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_uint=true
> - else
> -@@ -9473,12 +9413,12 @@ else
> -   echo "$ac_t""no" 1>&6
> - fi
> - echo $ac_n "checking for uint_t""... $ac_c" 1>&6
> --echo "configure:9477: checking for uint_t" >&5
> -+echo "configure:9417: checking for uint_t" >&5
> - if eval "test \"`echo '$''{'ac_cv_uint_t'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9482 "configure"
> -+#line 9422 "configure"
> - #include "confdefs.h"
> - #include <stdio.h>
> -                   #include <sys/types.h>
> -@@ -9486,7 +9426,7 @@ int main() {
> - uint_t foo = 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_uint_t=true
> - else
> -@@ -9520,12 +9460,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -
> -
> - echo $ac_n "checking for uname.domainname""... $ac_c" 1>&6
> --echo "configure:9524: checking for uname.domainname" >&5
> -+echo "configure:9464: checking for uname.domainname" >&5
> - if eval "test \"`echo '$''{'ac_cv_have_uname_domainname_field'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9529 "configure"
> -+#line 9469 "configure"
> - #include "confdefs.h"
> - #include <sys/utsname.h>
> - int main() {
> -@@ -9533,7 +9473,7 @@ int main() {
> -             (void)uname(res);  if (res != 0) { domain = res->domainname; }
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9477: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_have_uname_domainname_field=true
> - else
> -@@ -9560,12 +9500,12 @@ else
> - fi
> -
> - echo $ac_n "checking for uname.__domainname""... $ac_c" 1>&6
> --echo "configure:9564: checking for uname.__domainname" >&5
> -+echo "configure:9504: checking for uname.__domainname" >&5
> - if eval "test \"`echo '$''{'ac_cv_have_uname_us_domainname_field'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9569 "configure"
> -+#line 9509 "configure"
> - #include "confdefs.h"
> - #include <sys/utsname.h>
> - int main() {
> -@@ -9573,7 +9513,7 @@ int main() {
> -             (void)uname(res);  if (res != 0) { domain = res->__domainname; }
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_have_uname_us_domainname_field=true
> - else
> -@@ -9609,7 +9549,7 @@ cross_compiling=$ac_cv_prog_cc_cross
> -
> - if test "$GNU_CC"; then
> -   echo $ac_n "checking for visibility(hidden) attribute""... $ac_c" 1>&6
> --echo "configure:9613: checking for visibility(hidden) attribute" >&5
> -+echo "configure:9553: checking for visibility(hidden) attribute" >&5
> - if eval "test \"`echo '$''{'ac_cv_visibility_hidden'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -9637,7 +9577,7 @@ EOF
> -
> -
> -     echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6
> --echo "configure:9641: checking for visibility(default) attribute" >&5
> -+echo "configure:9581: checking for visibility(default) attribute" >&5
> - if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -9665,7 +9605,7 @@ EOF
> -
> -
> -       echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6
> --echo "configure:9669: checking for visibility pragma support" >&5
> -+echo "configure:9609: checking for visibility pragma support" >&5
> - if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -9690,7 +9630,7 @@ fi
> - echo "$ac_t""$ac_cv_visibility_pragma" 1>&6
> -       if test "$ac_cv_visibility_pragma" = "yes"; then
> -         echo $ac_n "checking For gcc visibility bug with class-level attributes (GCC bug 26905)""... $ac_c" 1>&6
> --echo "configure:9694: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
> -+echo "configure:9634: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
> - if eval "test \"`echo '$''{'ac_cv_have_visibility_class_bug'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -9718,7 +9658,7 @@ fi
> - echo "$ac_t""$ac_cv_have_visibility_class_bug" 1>&6
> -
> -         echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6
> --echo "configure:9722: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
> -+echo "configure:9662: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
> - if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -9770,7 +9710,7 @@ fi         # Sun Studio on Solaris
> - if test "$GNU_CC"; then
> -
> - echo $ac_n "checking for gcc PR49911""... $ac_c" 1>&6
> --echo "configure:9774: checking for gcc PR49911" >&5
> -+echo "configure:9714: checking for gcc PR49911" >&5
> - ac_have_gcc_pr49911="no"
> -
> - ac_ext=C
> -@@ -9787,7 +9727,7 @@ if test "$cross_compiling" = yes; then
> -   true
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9791 "configure"
> -+#line 9731 "configure"
> - #include "confdefs.h"
> -
> - extern "C" void abort(void);
> -@@ -9828,7 +9768,7 @@ int main(void) {
> - }
> -
> - EOF
> --if { (eval echo configure:9832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:9772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   true
> - else
> -@@ -9865,12 +9805,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
> - do
> - ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> - echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
> --echo "configure:9869: checking for $ac_hdr that defines DIR" >&5
> -+echo "configure:9809: checking for $ac_hdr that defines DIR" >&5
> - if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 9874 "configure"
> -+#line 9814 "configure"
> - #include "confdefs.h"
> - #include <sys/types.h>
> - #include <$ac_hdr>
> -@@ -9878,7 +9818,7 @@ int main() {
> - DIR *dirp = 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_dirent_$ac_safe=yes"
> - else
> -@@ -9906,7 +9846,7 @@ done
> - # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
> - if test $ac_header_dirent = dirent.h; then
> - echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
> --echo "configure:9910: checking for opendir in -ldir" >&5
> -+echo "configure:9850: checking for opendir in -ldir" >&5
> - ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -9914,7 +9854,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-ldir  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 9918 "configure"
> -+#line 9858 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -9925,7 +9865,7 @@ int main() {
> - opendir()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:9869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -9947,7 +9887,7 @@ fi
> -
> - else
> - echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
> --echo "configure:9951: checking for opendir in -lx" >&5
> -+echo "configure:9891: checking for opendir in -lx" >&5
> - ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -9955,7 +9895,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-lx  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 9959 "configure"
> -+#line 9899 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -9966,7 +9906,7 @@ int main() {
> - opendir()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:9970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:9910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -10000,12 +9940,12 @@ esac
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:10004: checking for $ac_hdr" >&5
> -+echo "configure:9944: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10009 "configure"
> -+#line 9949 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -10013,7 +9953,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:9957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10048,12 +9988,12 @@ EOF
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:10052: checking for $ac_hdr" >&5
> -+echo "configure:9992: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10057 "configure"
> -+#line 9997 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -10061,7 +10001,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10095,12 +10035,12 @@ EOF
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:10099: checking for $ac_hdr" >&5
> -+echo "configure:10039: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10104 "configure"
> -+#line 10044 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -10108,7 +10048,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10141,12 +10081,12 @@ EOF
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:10145: checking for $ac_hdr" >&5
> -+echo "configure:10085: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10150 "configure"
> -+#line 10090 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -10154,7 +10094,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10188,12 +10128,12 @@ EOF
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:10192: checking for $ac_hdr" >&5
> -+echo "configure:10132: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10197 "configure"
> -+#line 10137 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -10201,7 +10141,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10241,12 +10181,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
> - NEW_H=new.h
> -    ac_safe=`echo "new" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for new""... $ac_c" 1>&6
> --echo "configure:10245: checking for new" >&5
> -+echo "configure:10185: checking for new" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10250 "configure"
> -+#line 10190 "configure"
> - #include "confdefs.h"
> -
> - #include <new>
> -@@ -10254,7 +10194,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10298,12 +10238,12 @@ fi
> - if test "x$enable_dtrace" = "xyes"; then
> -      ac_safe=`echo "sys/sdt.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for sys/sdt.h""... $ac_c" 1>&6
> --echo "configure:10302: checking for sys/sdt.h" >&5
> -+echo "configure:10242: checking for sys/sdt.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10307 "configure"
> -+#line 10247 "configure"
> - #include "confdefs.h"
> -
> - #include <sys/sdt.h>
> -@@ -10311,7 +10251,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10353,12 +10293,12 @@ case $target in
> -   do
> -        ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
> --echo "configure:10357: checking for $ac_hdr" >&5
> -+echo "configure:10297: checking for $ac_hdr" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10362 "configure"
> -+#line 10302 "configure"
> - #include "confdefs.h"
> -
> - #include <$ac_hdr>
> -@@ -10366,7 +10306,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10310: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10418,12 +10358,12 @@ CFLAGS="$CFLAGS $LINUX_HEADERS_INCLUDES"
> -
> -    ac_safe=`echo "linux/perf_event.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for linux/perf_event.h""... $ac_c" 1>&6
> --echo "configure:10422: checking for linux/perf_event.h" >&5
> -+echo "configure:10362: checking for linux/perf_event.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10427 "configure"
> -+#line 10367 "configure"
> - #include "confdefs.h"
> -
> - #include <linux/perf_event.h>
> -@@ -10431,7 +10371,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10435: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10375: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10446,19 +10386,19 @@ fi
> -   if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
> -     echo "$ac_t""yes" 1>&6
> -     echo $ac_n "checking for perf_event_open system call""... $ac_c" 1>&6
> --echo "configure:10450: checking for perf_event_open system call" >&5
> -+echo "configure:10390: checking for perf_event_open system call" >&5
> - if eval "test \"`echo '$''{'ac_cv_perf_event_open'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 10455 "configure"
> -+#line 10395 "configure"
> - #include "confdefs.h"
> - #include <asm/unistd.h>
> - int main() {
> - return sizeof(__NR_perf_event_open);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10462: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10402: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_perf_event_open=yes
> - else
> -@@ -10494,7 +10434,7 @@ case $target in
> - 	;;
> - *)
> - 	echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6
> --echo "configure:10498: checking for gethostbyname_r in -lc_r" >&5
> -+echo "configure:10438: checking for gethostbyname_r in -lc_r" >&5
> - ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -10502,7 +10442,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-lc_r  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 10506 "configure"
> -+#line 10446 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -10513,7 +10453,7 @@ int main() {
> - gethostbyname_r()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:10457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -10554,14 +10494,14 @@ case $target in
> - *)
> -
> - echo $ac_n "checking for library containing dlopen""... $ac_c" 1>&6
> --echo "configure:10558: checking for library containing dlopen" >&5
> -+echo "configure:10498: checking for library containing dlopen" >&5
> - if eval "test \"`echo '$''{'ac_cv_search_dlopen'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   ac_func_search_save_LIBS="$LIBS"
> - ac_cv_search_dlopen="no"
> - cat > conftest.$ac_ext <<EOF
> --#line 10565 "configure"
> -+#line 10505 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -10572,7 +10512,7 @@ int main() {
> - dlopen()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:10516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_search_dlopen="none required"
> - else
> -@@ -10583,7 +10523,7 @@ rm -f conftest*
> - test "$ac_cv_search_dlopen" = "no" && for i in dl; do
> - LIBS="-l$i  $ac_func_search_save_LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 10587 "configure"
> -+#line 10527 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -10594,7 +10534,7 @@ int main() {
> - dlopen()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:10538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_search_dlopen="-l$i"
> - break
> -@@ -10612,12 +10552,12 @@ if test "$ac_cv_search_dlopen" != "no"; then
> -   test "$ac_cv_search_dlopen" = "none required" || LIBS="$ac_cv_search_dlopen $LIBS"
> -      ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
> --echo "configure:10616: checking for dlfcn.h" >&5
> -+echo "configure:10556: checking for dlfcn.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 10621 "configure"
> -+#line 10561 "configure"
> - #include "confdefs.h"
> -
> - #include <dlfcn.h>
> -@@ -10625,7 +10565,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:10569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -10662,12 +10602,12 @@ CFLAGS="$CFLAGS -D_GNU_SOURCE"
> - for ac_func in dladdr
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:10666: checking for $ac_func" >&5
> -+echo "configure:10606: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 10671 "configure"
> -+#line 10611 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -10690,7 +10630,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:10634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> -@@ -10724,7 +10664,7 @@ if test ! "$GNU_CXX"; then
> -     case $target in
> -     *-aix*)
> - 	echo $ac_n "checking for demangle in -lC_r""... $ac_c" 1>&6
> --echo "configure:10728: checking for demangle in -lC_r" >&5
> -+echo "configure:10668: checking for demangle in -lC_r" >&5
> - ac_lib_var=`echo C_r'_'demangle | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -10732,7 +10672,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-lC_r  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 10736 "configure"
> -+#line 10676 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -10743,7 +10683,7 @@ int main() {
> - demangle()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:10687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -10776,7 +10716,7 @@ fi
> - 	;;
> -      *)
> - 	echo $ac_n "checking for demangle in -lC""... $ac_c" 1>&6
> --echo "configure:10780: checking for demangle in -lC" >&5
> -+echo "configure:10720: checking for demangle in -lC" >&5
> - ac_lib_var=`echo C'_'demangle | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -10784,7 +10724,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-lC  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 10788 "configure"
> -+#line 10728 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -10795,7 +10735,7 @@ int main() {
> - demangle()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:10739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -10834,7 +10774,7 @@ case $target in
> -     ;;
> - *)
> -     echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
> --echo "configure:10838: checking for socket in -lsocket" >&5
> -+echo "configure:10778: checking for socket in -lsocket" >&5
> - ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -10842,7 +10782,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-lsocket  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 10846 "configure"
> -+#line 10786 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -10853,7 +10793,7 @@ int main() {
> - socket()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:10857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:10797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -10892,7 +10832,7 @@ darwin*)
> - *)
> -
> - echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
> --echo "configure:10896: checking for pthread_create in -lpthreads" >&5
> -+echo "configure:10836: checking for pthread_create in -lpthreads" >&5
> - echo "
> -     #include <pthread.h>
> -     #include <stdlib.h>
> -@@ -10915,7 +10855,7 @@ echo "
> -         echo "$ac_t""no" 1>&6
> -
> - echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
> --echo "configure:10919: checking for pthread_create in -lpthread" >&5
> -+echo "configure:10859: checking for pthread_create in -lpthread" >&5
> - echo "
> -     #include <pthread.h>
> -     #include <stdlib.h>
> -@@ -10938,7 +10878,7 @@ echo "
> -         echo "$ac_t""no" 1>&6
> -
> - echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6
> --echo "configure:10942: checking for pthread_create in -lc_r" >&5
> -+echo "configure:10882: checking for pthread_create in -lc_r" >&5
> - echo "
> -     #include <pthread.h>
> -     #include <stdlib.h>
> -@@ -10961,7 +10901,7 @@ echo "
> -         echo "$ac_t""no" 1>&6
> -
> - echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6
> --echo "configure:10965: checking for pthread_create in -lc" >&5
> -+echo "configure:10905: checking for pthread_create in -lc" >&5
> - echo "
> -     #include <pthread.h>
> -     #include <stdlib.h>
> -@@ -11020,7 +10960,7 @@ then
> - 				rm -f conftest*
> - 	ac_cv_have_dash_pthread=no
> - 	echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6
> --echo "configure:11024: checking whether ${CC-cc} accepts -pthread" >&5
> -+echo "configure:10964: checking whether ${CC-cc} accepts -pthread" >&5
> - 	echo 'int main() { return 0; }' | cat > conftest.c
> - 	${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
> - 	if test $? -eq 0; then
> -@@ -11043,7 +10983,7 @@ echo "configure:11024: checking whether ${CC-cc} accepts -pthread" >&5
> - 			    ac_cv_have_dash_pthreads=no
> -     if test "$ac_cv_have_dash_pthread" = "no"; then
> - 	    echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6
> --echo "configure:11047: checking whether ${CC-cc} accepts -pthreads" >&5
> -+echo "configure:10987: checking whether ${CC-cc} accepts -pthreads" >&5
> -     	echo 'int main() { return 0; }' | cat > conftest.c
> - 	    ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
> -     	if test $? -eq 0; then
> -@@ -11148,13 +11088,13 @@ fi
> -
> - if test $ac_cv_prog_gcc = yes; then
> -     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
> --echo "configure:11152: checking whether ${CC-cc} needs -traditional" >&5
> -+echo "configure:11092: checking whether ${CC-cc} needs -traditional" >&5
> - if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -     ac_pattern="Autoconf.*'x'"
> -   cat > conftest.$ac_ext <<EOF
> --#line 11158 "configure"
> -+#line 11098 "configure"
> - #include "confdefs.h"
> - #include <sgtty.h>
> - Autoconf TIOCGETP
> -@@ -11172,7 +11112,7 @@ rm -f conftest*
> -
> -   if test $ac_cv_prog_gcc_traditional = no; then
> -     cat > conftest.$ac_ext <<EOF
> --#line 11176 "configure"
> -+#line 11116 "configure"
> - #include "confdefs.h"
> - #include <termio.h>
> - Autoconf TCGETA
> -@@ -11194,7 +11134,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
> - fi
> -
> - echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
> --echo "configure:11198: checking for 8-bit clean memcmp" >&5
> -+echo "configure:11138: checking for 8-bit clean memcmp" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -11202,7 +11142,7 @@ else
> -   ac_cv_func_memcmp_clean=no
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11206 "configure"
> -+#line 11146 "configure"
> - #include "confdefs.h"
> -
> - main()
> -@@ -11212,7 +11152,7 @@ main()
> - }
> -
> - EOF
> --if { (eval echo configure:11216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:11156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   ac_cv_func_memcmp_clean=yes
> - else
> -@@ -11234,12 +11174,12 @@ for ac_func in fchmod flockfile getc_unlocked _getc_nolock getpagesize \
> -                 stat64 statvfs statvfs64 strerror strtok_r truncate64
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:11238: checking for $ac_func" >&5
> -+echo "configure:11178: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11243 "configure"
> -+#line 11183 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -11262,7 +11202,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> -@@ -11291,14 +11231,14 @@ done
> -
> -
> - cat > conftest.$ac_ext <<EOF
> --#line 11295 "configure"
> -+#line 11235 "configure"
> - #include "confdefs.h"
> - #include <windows.h>
> - int main() {
> - SYSTEMTIME st;FILETIME ft;SystemTimeToFileTime(&st,&ft);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_have_systemtimetofiletime="yes"
> - else
> -@@ -11318,14 +11258,14 @@ EOF
> -
> - fi
> - cat > conftest.$ac_ext <<EOF
> --#line 11322 "configure"
> -+#line 11262 "configure"
> - #include "confdefs.h"
> - #include <windows.h>
> - int main() {
> - FILETIME ft;GetSystemTimeAsFileTime(&ft);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_have_getsystemtimeasfiletime="yes"
> - else
> -@@ -11355,19 +11295,19 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
> - cross_compiling=$ac_cv_prog_cxx_cross
> -
> - echo $ac_n "checking for wcrtomb""... $ac_c" 1>&6
> --echo "configure:11359: checking for wcrtomb" >&5
> -+echo "configure:11299: checking for wcrtomb" >&5
> - if eval "test \"`echo '$''{'ac_cv_have_wcrtomb'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11364 "configure"
> -+#line 11304 "configure"
> - #include "confdefs.h"
> - #include <wchar.h>
> - int main() {
> - mbstate_t ps={0};wcrtomb(0,'f',&ps);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_have_wcrtomb="yes"
> - else
> -@@ -11390,19 +11330,19 @@ EOF
> -
> - fi
> - echo $ac_n "checking for mbrtowc""... $ac_c" 1>&6
> --echo "configure:11394: checking for mbrtowc" >&5
> -+echo "configure:11334: checking for mbrtowc" >&5
> - if eval "test \"`echo '$''{'ac_cv_have_mbrtowc'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11399 "configure"
> -+#line 11339 "configure"
> - #include "confdefs.h"
> - #include <wchar.h>
> - int main() {
> - mbstate_t ps={0};mbrtowc(0,0,0,&ps);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_have_mbrtowc="yes"
> - else
> -@@ -11434,12 +11374,12 @@ cross_compiling=$ac_cv_prog_cc_cross
> - fi
> -
> - echo $ac_n "checking for res_ninit()""... $ac_c" 1>&6
> --echo "configure:11438: checking for res_ninit()" >&5
> -+echo "configure:11378: checking for res_ninit()" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_res_ninit'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11443 "configure"
> -+#line 11383 "configure"
> - #include "confdefs.h"
> -
> -         #ifdef linux
> -@@ -11451,7 +11391,7 @@ int main() {
> - int foo = res_ninit(&_res);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_func_res_ninit=yes
> - else
> -@@ -11484,12 +11424,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
> - cross_compiling=$ac_cv_prog_cxx_cross
> -
> - echo $ac_n "checking for gnu_get_libc_version()""... $ac_c" 1>&6
> --echo "configure:11488: checking for gnu_get_libc_version()" >&5
> -+echo "configure:11428: checking for gnu_get_libc_version()" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_gnu_get_libc_version'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11493 "configure"
> -+#line 11433 "configure"
> - #include "confdefs.h"
> -
> -         #ifdef HAVE_GNU_LIBC_VERSION_H
> -@@ -11500,7 +11440,7 @@ int main() {
> - const char *glibc_version = gnu_get_libc_version();
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_func_gnu_get_libc_version=yes
> - else
> -@@ -11534,7 +11474,7 @@ cross_compiling=$ac_cv_prog_cc_cross
> -
> -
> - echo $ac_n "checking for an implementation of va_copy()""... $ac_c" 1>&6
> --echo "configure:11538: checking for an implementation of va_copy()" >&5
> -+echo "configure:11478: checking for an implementation of va_copy()" >&5
> - if eval "test \"`echo '$''{'ac_cv_va_copy'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -11544,7 +11484,7 @@ else
> -
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11548 "configure"
> -+#line 11488 "configure"
> - #include "confdefs.h"
> -
> -         #include <stdarg.h>
> -@@ -11558,7 +11498,7 @@ else
> -         }
> -         int main() { f (0, 42); return 0; }
> - EOF
> --if { (eval echo configure:11562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:11502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   ac_cv_va_copy=yes
> - else
> -@@ -11575,7 +11515,7 @@ fi
> -
> - echo "$ac_t""$ac_cv_va_copy" 1>&6
> - echo $ac_n "checking for an implementation of __va_copy()""... $ac_c" 1>&6
> --echo "configure:11579: checking for an implementation of __va_copy()" >&5
> -+echo "configure:11519: checking for an implementation of __va_copy()" >&5
> - if eval "test \"`echo '$''{'ac_cv___va_copy'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -11585,7 +11525,7 @@ else
> -
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11589 "configure"
> -+#line 11529 "configure"
> - #include "confdefs.h"
> -
> -         #include <stdarg.h>
> -@@ -11599,7 +11539,7 @@ else
> -         }
> -         int main() { f (0, 42); return 0; }
> - EOF
> --if { (eval echo configure:11603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:11543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   ac_cv___va_copy=yes
> - else
> -@@ -11616,7 +11556,7 @@ fi
> -
> - echo "$ac_t""$ac_cv___va_copy" 1>&6
> - echo $ac_n "checking whether va_lists can be copied by value""... $ac_c" 1>&6
> --echo "configure:11620: checking whether va_lists can be copied by value" >&5
> -+echo "configure:11560: checking whether va_lists can be copied by value" >&5
> - if eval "test \"`echo '$''{'ac_cv_va_val_copy'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -11626,7 +11566,7 @@ else
> -
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11630 "configure"
> -+#line 11570 "configure"
> - #include "confdefs.h"
> -
> -         #include <stdarg.h>
> -@@ -11640,7 +11580,7 @@ else
> -         }
> -         int main() { f (0, 42); return 0; }
> - EOF
> --if { (eval echo configure:11644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:11584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   ac_cv_va_val_copy=yes
> - else
> -@@ -11710,12 +11650,12 @@ ARM_ABI_PREFIX=
> - if test "$GNU_CC"; then
> -   if test "$CPU_ARCH" = "arm" ; then
> -     echo $ac_n "checking for ARM EABI""... $ac_c" 1>&6
> --echo "configure:11714: checking for ARM EABI" >&5
> -+echo "configure:11654: checking for ARM EABI" >&5
> - if eval "test \"`echo '$''{'ac_cv_gcc_arm_eabi'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11719 "configure"
> -+#line 11659 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -@@ -11728,7 +11668,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:11672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_gcc_arm_eabi="yes"
> - else
> -@@ -11753,12 +11693,12 @@ echo "$ac_t""$ac_cv_gcc_arm_eabi" 1>&6
> - fi
> -
> - echo $ac_n "checking for modern C++ template specialization syntax support""... $ac_c" 1>&6
> --echo "configure:11757: checking for modern C++ template specialization syntax support" >&5
> -+echo "configure:11697: checking for modern C++ template specialization syntax support" >&5
> - if eval "test \"`echo '$''{'ac_cv_cpp_modern_specialize_template_syntax'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11762 "configure"
> -+#line 11702 "configure"
> - #include "confdefs.h"
> - template <class T> struct X { int a; };
> -                                class Y {};
> -@@ -11768,7 +11708,7 @@ X<int> int_x;
> -                                X<Y> y_x;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:11712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_cpp_modern_specialize_template_syntax=yes
> - else
> -@@ -11786,12 +11726,12 @@ if test "$ac_cv_cpp_modern_specialize_template_syntax" = no ; then
> - fi
> -
> - echo $ac_n "checking whether partial template specialization works""... $ac_c" 1>&6
> --echo "configure:11790: checking whether partial template specialization works" >&5
> -+echo "configure:11730: checking whether partial template specialization works" >&5
> - if eval "test \"`echo '$''{'ac_cv_cpp_partial_specialization'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11795 "configure"
> -+#line 11735 "configure"
> - #include "confdefs.h"
> - template <class T> class Foo {};
> -                                template <class T> class Foo<T*> {};
> -@@ -11799,7 +11739,7 @@ int main() {
> - return 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:11743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_cpp_partial_specialization=yes
> - else
> -@@ -11823,12 +11763,12 @@ EOF
> - fi
> -
> - echo $ac_n "checking whether the C++ \"using\" keyword resolves ambiguity""... $ac_c" 1>&6
> --echo "configure:11827: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
> -+echo "configure:11767: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
> - if eval "test \"`echo '$''{'ac_cv_cpp_ambiguity_resolving_using'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11832 "configure"
> -+#line 11772 "configure"
> - #include "confdefs.h"
> - class X {
> -                                  public: int go(const X&) {return 3;}
> -@@ -11844,7 +11784,7 @@ int main() {
> - X x; Y y; y.jo(x);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:11788: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_cpp_ambiguity_resolving_using=yes
> - else
> -@@ -11868,7 +11808,7 @@ EOF
> - fi
> -
> - echo $ac_n "checking for C++ dynamic_cast to void*""... $ac_c" 1>&6
> --echo "configure:11872: checking for C++ dynamic_cast to void*" >&5
> -+echo "configure:11812: checking for C++ dynamic_cast to void*" >&5
> - if eval "test \"`echo '$''{'ac_cv_cpp_dynamic_cast_void_ptr'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -11876,7 +11816,7 @@ else
> -   ac_cv_cpp_dynamic_cast_void_ptr=no
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11880 "configure"
> -+#line 11820 "configure"
> - #include "confdefs.h"
> - class X { int i; public: virtual ~X() { } };
> -                             class Y { int j; public: virtual ~Y() { } };
> -@@ -11892,7 +11832,7 @@ class X { int i; public: virtual ~X() { } };
> -                                            ((void*)&mdo == dynamic_cast<void*>(suby))));
> -                             }
> - EOF
> --if { (eval echo configure:11896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:11836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   ac_cv_cpp_dynamic_cast_void_ptr=yes
> - else
> -@@ -11919,19 +11859,19 @@ fi
> -
> -
> - echo $ac_n "checking whether C++ requires implementation of unused virtual methods""... $ac_c" 1>&6
> --echo "configure:11923: checking whether C++ requires implementation of unused virtual methods" >&5
> -+echo "configure:11863: checking whether C++ requires implementation of unused virtual methods" >&5
> - if eval "test \"`echo '$''{'ac_cv_cpp_unused_required'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11928 "configure"
> -+#line 11868 "configure"
> - #include "confdefs.h"
> - class X {private: virtual void never_called();};
> - int main() {
> - X x;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_cpp_unused_required=no
> - else
> -@@ -11957,12 +11897,12 @@ fi
> -
> -
> - echo $ac_n "checking for trouble comparing to zero near std::operator!=()""... $ac_c" 1>&6
> --echo "configure:11961: checking for trouble comparing to zero near std::operator!=()" >&5
> -+echo "configure:11901: checking for trouble comparing to zero near std::operator!=()" >&5
> - if eval "test \"`echo '$''{'ac_cv_trouble_comparing_to_zero'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 11966 "configure"
> -+#line 11906 "configure"
> - #include "confdefs.h"
> - #include <algorithm>
> -                                 template <class T> class Foo {};
> -@@ -11973,7 +11913,7 @@ int main() {
> - Foo<int> f; return (0 != f);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:11977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:11917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_trouble_comparing_to_zero=no
> - else
> -@@ -12003,19 +11943,19 @@ fi
> - _SAVE_LDFLAGS=$LDFLAGS
> - LDFLAGS="$LDFLAGS $DSO_PIC_CFLAGS $DSO_LDOPTS $MOZ_OPTIMIZE_LDFLAGS"
> - echo $ac_n "checking for __thread keyword for TLS variables""... $ac_c" 1>&6
> --echo "configure:12007: checking for __thread keyword for TLS variables" >&5
> -+echo "configure:11947: checking for __thread keyword for TLS variables" >&5
> - if eval "test \"`echo '$''{'ac_cv_thread_keyword'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 12012 "configure"
> -+#line 11952 "configure"
> - #include "confdefs.h"
> - __thread bool tlsIsMainThread = false;
> - int main() {
> - return tlsIsMainThread;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:11959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv_thread_keyword=yes
> - else
> -@@ -12055,12 +11995,12 @@ fi
> - MALLOC_H=
> -    ac_safe=`echo "malloc.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for malloc.h""... $ac_c" 1>&6
> --echo "configure:12059: checking for malloc.h" >&5
> -+echo "configure:11999: checking for malloc.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 12064 "configure"
> -+#line 12004 "configure"
> - #include "confdefs.h"
> -
> - #include <malloc.h>
> -@@ -12068,7 +12008,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12072: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -12091,12 +12031,12 @@ fi
> - if test "$MALLOC_H" = ""; then
> -      ac_safe=`echo "malloc/malloc.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for malloc/malloc.h""... $ac_c" 1>&6
> --echo "configure:12095: checking for malloc/malloc.h" >&5
> -+echo "configure:12035: checking for malloc/malloc.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 12100 "configure"
> -+#line 12040 "configure"
> - #include "confdefs.h"
> -
> - #include <malloc/malloc.h>
> -@@ -12104,7 +12044,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12048: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -12127,12 +12067,12 @@ fi
> -   if test "$MALLOC_H" = ""; then
> -        ac_safe=`echo "sys/malloc.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for sys/malloc.h""... $ac_c" 1>&6
> --echo "configure:12131: checking for sys/malloc.h" >&5
> -+echo "configure:12071: checking for sys/malloc.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 12136 "configure"
> -+#line 12076 "configure"
> - #include "confdefs.h"
> -
> - #include <sys/malloc.h>
> -@@ -12140,7 +12080,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -12176,12 +12116,12 @@ MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
> - for ac_func in strndup posix_memalign memalign valloc
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:12180: checking for $ac_func" >&5
> -+echo "configure:12120: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 12185 "configure"
> -+#line 12125 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -12207,7 +12147,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:12151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> -@@ -12237,19 +12177,19 @@ done
> -
> -
> - echo $ac_n "checking for __attribute__((always_inline))""... $ac_c" 1>&6
> --echo "configure:12241: checking for __attribute__((always_inline))" >&5
> -+echo "configure:12181: checking for __attribute__((always_inline))" >&5
> - if eval "test \"`echo '$''{'ac_cv_attribute_always_inline'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 12246 "configure"
> -+#line 12186 "configure"
> - #include "confdefs.h"
> - inline void f(void) __attribute__((always_inline));
> - int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_attribute_always_inline=yes
> - else
> -@@ -12264,19 +12204,19 @@ fi
> - echo "$ac_t""$ac_cv_attribute_always_inline" 1>&6
> -
> - echo $ac_n "checking for __attribute__((malloc))""... $ac_c" 1>&6
> --echo "configure:12268: checking for __attribute__((malloc))" >&5
> -+echo "configure:12208: checking for __attribute__((malloc))" >&5
> - if eval "test \"`echo '$''{'ac_cv_attribute_malloc'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 12273 "configure"
> -+#line 12213 "configure"
> - #include "confdefs.h"
> - void* f(int) __attribute__((malloc));
> - int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12220: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_attribute_malloc=yes
> - else
> -@@ -12291,19 +12231,19 @@ fi
> - echo "$ac_t""$ac_cv_attribute_malloc" 1>&6
> -
> - echo $ac_n "checking for __attribute__((warn_unused_result))""... $ac_c" 1>&6
> --echo "configure:12295: checking for __attribute__((warn_unused_result))" >&5
> -+echo "configure:12235: checking for __attribute__((warn_unused_result))" >&5
> - if eval "test \"`echo '$''{'ac_cv_attribute_warn_unused'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 12300 "configure"
> -+#line 12240 "configure"
> - #include "confdefs.h"
> - int f(void) __attribute__((warn_unused_result));
> - int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12307: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_attribute_warn_unused=yes
> - else
> -@@ -12327,19 +12267,19 @@ cross_compiling=$ac_cv_prog_cc_cross
> -
> -
> - echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
> --echo "configure:12331: checking for LC_MESSAGES" >&5
> -+echo "configure:12271: checking for LC_MESSAGES" >&5
> - if eval "test \"`echo '$''{'ac_cv_i18n_lc_messages'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 12336 "configure"
> -+#line 12276 "configure"
> - #include "confdefs.h"
> - #include <locale.h>
> - int main() {
> - int category = LC_MESSAGES;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_i18n_lc_messages=yes
> - else
> -@@ -12365,12 +12305,12 @@ fi
> - for ac_func in localeconv
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:12369: checking for $ac_func" >&5
> -+echo "configure:12309: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 12374 "configure"
> -+#line 12314 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -12393,7 +12333,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:12337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> -@@ -12580,7 +12520,7 @@ fi
> - 	# Extract the first word of "nspr-config", so it can be a program name with args.
> - set dummy nspr-config; ac_word=$2
> - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
> --echo "configure:12584: checking for $ac_word" >&5
> -+echo "configure:12524: checking for $ac_word" >&5
> - if eval "test \"`echo '$''{'ac_cv_path_NSPR_CONFIG'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -12615,7 +12555,7 @@ fi
> -
> - 	min_nspr_version=$NSPR_MINVER
> - 	echo $ac_n "checking for NSPR - version >= $min_nspr_version""... $ac_c" 1>&6
> --echo "configure:12619: checking for NSPR - version >= $min_nspr_version" >&5
> -+echo "configure:12559: checking for NSPR - version >= $min_nspr_version" >&5
> -
> - 	no_nspr=""
> - 	if test "$NSPR_CONFIG" != "no"; then
> -@@ -12678,7 +12618,7 @@ if test -n "$MOZ_NATIVE_NSPR"; then
> -     _SAVE_CFLAGS=$CFLAGS
> -     CFLAGS="$CFLAGS $NSPR_CFLAGS"
> -     cat > conftest.$ac_ext <<EOF
> --#line 12682 "configure"
> -+#line 12622 "configure"
> - #include "confdefs.h"
> - #include "prlog.h"
> - int main() {
> -@@ -12687,7 +12627,7 @@ int main() {
> -                  #endif
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   MOZ_NATIVE_NSPR=1
> - else
> -@@ -12729,7 +12669,7 @@ if test -z "$MOZ_ZLIB_LIBS$MOZ_ZLIB_CFLAGS$SKIP_LIBRARY_CHECKS"; then
> -         MOZ_NATIVE_ZLIB=
> -     else
> -         echo $ac_n "checking for gzread in -lz""... $ac_c" 1>&6
> --echo "configure:12733: checking for gzread in -lz" >&5
> -+echo "configure:12673: checking for gzread in -lz" >&5
> - ac_lib_var=`echo z'_'gzread | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -12737,7 +12677,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-lz  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 12741 "configure"
> -+#line 12681 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -12748,7 +12688,7 @@ int main() {
> - gzread()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:12692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -12772,7 +12712,7 @@ fi
> -         if test "$MOZ_NATIVE_ZLIB" = 1; then
> -             MOZZLIBNUM=`echo $MOZZLIB | awk -F. '{printf "0x%x\n", ((($1 * 16 + $2) * 16) + $3) * 16 + $4}'`
> -             cat > conftest.$ac_ext <<EOF
> --#line 12776 "configure"
> -+#line 12716 "configure"
> - #include "confdefs.h"
> -  #include <stdio.h>
> -                              #include <string.h>
> -@@ -12783,7 +12723,7 @@ int main() {
> -                              #endif
> - ; return 0; }
> - EOF
> --if { (eval echo configure:12787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:12727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   MOZ_NATIVE_ZLIB=1
> - else
> -@@ -12829,7 +12769,7 @@ if test -n "$MOZ_NATIVE_FFI"; then
> -     # Extract the first word of "pkg-config", so it can be a program name with args.
> - set dummy pkg-config; ac_word=$2
> - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
> --echo "configure:12833: checking for $ac_word" >&5
> -+echo "configure:12773: checking for $ac_word" >&5
> - if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -12873,19 +12813,19 @@ fi
> -      PKG_CONFIG_MIN_VERSION=0.9.0
> -      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
> -         echo $ac_n "checking for libffi > 3.0.9""... $ac_c" 1>&6
> --echo "configure:12877: checking for libffi > 3.0.9" >&5
> -+echo "configure:12817: checking for libffi > 3.0.9" >&5
> -
> -         if $PKG_CONFIG --exists "libffi > 3.0.9" ; then
> -             echo "$ac_t""yes" 1>&6
> -             succeeded=yes
> -
> -             echo $ac_n "checking MOZ_FFI_CFLAGS""... $ac_c" 1>&6
> --echo "configure:12884: checking MOZ_FFI_CFLAGS" >&5
> -+echo "configure:12824: checking MOZ_FFI_CFLAGS" >&5
> -             MOZ_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi > 3.0.9"`
> -             echo "$ac_t""$MOZ_FFI_CFLAGS" 1>&6
> -
> -             echo $ac_n "checking MOZ_FFI_LIBS""... $ac_c" 1>&6
> --echo "configure:12889: checking MOZ_FFI_LIBS" >&5
> -+echo "configure:12829: checking MOZ_FFI_LIBS" >&5
> -             ## Remove evil flags like -Wl,--export-dynamic
> -             MOZ_FFI_LIBS="`$PKG_CONFIG --libs \"libffi > 3.0.9\" |sed s/-Wl,--export-dynamic//g`"
> -             echo "$ac_t""$MOZ_FFI_LIBS" 1>&6
> -@@ -12921,7 +12861,7 @@ echo "configure:12889: checking MOZ_FFI_LIBS" >&5
> -     # Extract the first word of "pkg-config", so it can be a program name with args.
> - set dummy pkg-config; ac_word=$2
> - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
> --echo "configure:12925: checking for $ac_word" >&5
> -+echo "configure:12865: checking for $ac_word" >&5
> - if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -12965,19 +12905,19 @@ fi
> -      PKG_CONFIG_MIN_VERSION=0.9.0
> -      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
> -         echo $ac_n "checking for libffi >= 3.0.9""... $ac_c" 1>&6
> --echo "configure:12969: checking for libffi >= 3.0.9" >&5
> -+echo "configure:12909: checking for libffi >= 3.0.9" >&5
> -
> -         if $PKG_CONFIG --exists "libffi >= 3.0.9" ; then
> -             echo "$ac_t""yes" 1>&6
> -             succeeded=yes
> -
> -             echo $ac_n "checking MOZ_FFI_CFLAGS""... $ac_c" 1>&6
> --echo "configure:12976: checking MOZ_FFI_CFLAGS" >&5
> -+echo "configure:12916: checking MOZ_FFI_CFLAGS" >&5
> -             MOZ_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi >= 3.0.9"`
> -             echo "$ac_t""$MOZ_FFI_CFLAGS" 1>&6
> -
> -             echo $ac_n "checking MOZ_FFI_LIBS""... $ac_c" 1>&6
> --echo "configure:12981: checking MOZ_FFI_LIBS" >&5
> -+echo "configure:12921: checking MOZ_FFI_LIBS" >&5
> -             ## Remove evil flags like -Wl,--export-dynamic
> -             MOZ_FFI_LIBS="`$PKG_CONFIG --libs \"libffi >= 3.0.9\" |sed s/-Wl,--export-dynamic//g`"
> -             echo "$ac_t""$MOZ_FFI_LIBS" 1>&6
> -@@ -13112,18 +13052,18 @@ MOZ_DEBUG_DISABLE_DEFS="-DNDEBUG -DTRIMMED"
> -
> - if test -n "$MOZ_DEBUG"; then
> -     echo $ac_n "checking for valid debug flags""... $ac_c" 1>&6
> --echo "configure:13116: checking for valid debug flags" >&5
> -+echo "configure:13056: checking for valid debug flags" >&5
> -     _SAVE_CFLAGS=$CFLAGS
> -     CFLAGS="$CFLAGS $MOZ_DEBUG_FLAGS"
> -     cat > conftest.$ac_ext <<EOF
> --#line 13120 "configure"
> -+#line 13060 "configure"
> - #include "confdefs.h"
> - #include <stdio.h>
> - int main() {
> - printf("Hello World\n");
> - ; return 0; }
> - EOF
> --if { (eval echo configure:13127: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:13067: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   _results=yes
> - else
> -@@ -13201,18 +13141,18 @@ fi
> - if test "$COMPILE_ENVIRONMENT"; then
> - if test -n "$MOZ_OPTIMIZE"; then
> -     echo $ac_n "checking for valid optimization flags""... $ac_c" 1>&6
> --echo "configure:13205: checking for valid optimization flags" >&5
> -+echo "configure:13145: checking for valid optimization flags" >&5
> -     _SAVE_CFLAGS=$CFLAGS
> -     CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS"
> -     cat > conftest.$ac_ext <<EOF
> --#line 13209 "configure"
> -+#line 13149 "configure"
> - #include "confdefs.h"
> - #include <stdio.h>
> - int main() {
> - printf("Hello World\n");
> - ; return 0; }
> - EOF
> --if { (eval echo configure:13216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:13156: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   _results=yes
> - else
> -@@ -13364,7 +13304,7 @@ EOF
> -     fi
> -   else
> -     echo $ac_n "checking size of int *""... $ac_c" 1>&6
> --echo "configure:13368: checking size of int *" >&5
> -+echo "configure:13308: checking size of int *" >&5
> - if eval "test \"`echo '$''{'ac_cv_sizeof_int_p'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -13372,7 +13312,7 @@ else
> -   ac_cv_sizeof_int_p=4
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 13376 "configure"
> -+#line 13316 "configure"
> - #include "confdefs.h"
> - #include <stdio.h>
> - int main()
> -@@ -13383,7 +13323,7 @@ int main()
> -   return(0);
> - }
> - EOF
> --if { (eval echo configure:13387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> -+if { (eval echo configure:13327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> - then
> -   ac_cv_sizeof_int_p=`cat conftestval`
> - else
> -@@ -13687,12 +13627,12 @@ fi
> - if test -n "$MOZ_VALGRIND"; then
> -        ac_safe=`echo "valgrind/valgrind.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for valgrind/valgrind.h""... $ac_c" 1>&6
> --echo "configure:13691: checking for valgrind/valgrind.h" >&5
> -+echo "configure:13631: checking for valgrind/valgrind.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 13696 "configure"
> -+#line 13636 "configure"
> - #include "confdefs.h"
> -
> - #include <valgrind/valgrind.h>
> -@@ -13700,7 +13640,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:13704: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:13644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -13973,7 +13913,7 @@ do
> - # Extract the first word of "$ac_prog", so it can be a program name with args.
> - set dummy $ac_prog; ac_word=$2
> - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
> --echo "configure:13977: checking for $ac_word" >&5
> -+echo "configure:13917: checking for $ac_word" >&5
> - if eval "test \"`echo '$''{'ac_cv_path_CCACHE'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -14099,12 +14039,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
> -     for ac_func in __cxa_demangle
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:14103: checking for $ac_func" >&5
> -+echo "configure:14043: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 14108 "configure"
> -+#line 14048 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -14130,7 +14070,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:14074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> -@@ -14184,12 +14124,12 @@ fi
> - if test -z "$SKIP_LIBRARY_CHECKS"; then
> -        ac_safe=`echo "unwind.h" | sed 'y%./+-%__p_%'`
> -   echo $ac_n "checking for unwind.h""... $ac_c" 1>&6
> --echo "configure:14188: checking for unwind.h" >&5
> -+echo "configure:14128: checking for unwind.h" >&5
> -   if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -    cat > conftest.$ac_ext <<EOF
> --#line 14193 "configure"
> -+#line 14133 "configure"
> - #include "confdefs.h"
> -
> - #include <unwind.h>
> -@@ -14197,7 +14137,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:14141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   eval "ac_cv_header_$ac_safe=yes"
> - else
> -@@ -14214,12 +14154,12 @@ fi
> -     for ac_func in _Unwind_Backtrace
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:14218: checking for $ac_func" >&5
> -+echo "configure:14158: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 14223 "configure"
> -+#line 14163 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -14242,7 +14182,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:14186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> -@@ -14334,7 +14274,7 @@ if test -z "$SKIP_COMPILER_CHECKS"; then
> - # Compiler Options
> -
> - echo $ac_n "checking for -pipe support""... $ac_c" 1>&6
> --echo "configure:14338: checking for -pipe support" >&5
> -+echo "configure:14278: checking for -pipe support" >&5
> - if test -n "$GNU_CC" -a -n "$GNU_CXX"; then
> -         CFLAGS="$CFLAGS -pipe"
> -     CXXFLAGS="$CXXFLAGS -pipe"
> -@@ -14348,16 +14288,16 @@ _SAVE_CFLAGS="$CFLAGS"
> - CFLAGS="$CFLAGS -fprofile-generate -fprofile-correction"
> -
> - echo $ac_n "checking whether C compiler supports -fprofile-generate""... $ac_c" 1>&6
> --echo "configure:14352: checking whether C compiler supports -fprofile-generate" >&5
> -+echo "configure:14292: checking whether C compiler supports -fprofile-generate" >&5
> - cat > conftest.$ac_ext <<EOF
> --#line 14354 "configure"
> -+#line 14294 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> - return 0;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:14301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -    PROFILE_GEN_CFLAGS="-fprofile-generate"
> -                  result="yes"
> -@@ -14421,16 +14361,16 @@ if test "$_PEDANTIC"; then
> -     _SAVE_CXXFLAGS=$CXXFLAGS
> -     CXXFLAGS="$CXXFLAGS -pedantic ${_WARNINGS_CXXFLAGS} -Wno-long-long"
> -     echo $ac_n "checking whether C++ compiler has -pedantic long long bug""... $ac_c" 1>&6
> --echo "configure:14425: checking whether C++ compiler has -pedantic long long bug" >&5
> -+echo "configure:14365: checking whether C++ compiler has -pedantic long long bug" >&5
> -     cat > conftest.$ac_ext <<EOF
> --#line 14427 "configure"
> -+#line 14367 "configure"
> - #include "confdefs.h"
> - $configure_static_assert_macros
> - int main() {
> - CONFIGURE_STATIC_ASSERT(sizeof(long long) == 8)
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:14374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   result="no"
> - else
> -@@ -14457,12 +14397,12 @@ fi
> - _SAVE_CXXFLAGS=$CXXFLAGS
> - CXXFLAGS="$CXXFLAGS ${_WARNINGS_CXXFLAGS}"
> - echo $ac_n "checking for correct overload resolution with const and templates""... $ac_c" 1>&6
> --echo "configure:14461: checking for correct overload resolution with const and templates" >&5
> -+echo "configure:14401: checking for correct overload resolution with const and templates" >&5
> - if eval "test \"`echo '$''{'ac_nscap_nonconst_opeq_bug'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 14466 "configure"
> -+#line 14406 "configure"
> - #include "confdefs.h"
> -
> -                       template <class T>
> -@@ -14492,7 +14432,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14496: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:14436: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_nscap_nonconst_opeq_bug="no"
> - else
> -@@ -14518,19 +14458,19 @@ EOF
> - fi
> -
> - echo $ac_n "checking for tm_zone tm_gmtoff in struct tm""... $ac_c" 1>&6
> --echo "configure:14522: checking for tm_zone tm_gmtoff in struct tm" >&5
> -+echo "configure:14462: checking for tm_zone tm_gmtoff in struct tm" >&5
> - if eval "test \"`echo '$''{'ac_cv_struct_tm_zone_tm_gmtoff'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 14527 "configure"
> -+#line 14467 "configure"
> - #include "confdefs.h"
> - #include <time.h>
> - int main() {
> - struct tm tm; tm.tm_zone = 0; tm.tm_gmtoff = 1;
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:14474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   rm -rf conftest*
> -   ac_cv_struct_tm_zone_tm_gmtoff="yes"
> - else
> -@@ -14572,18 +14512,18 @@ cross_compiling=$ac_cv_prog_cc_cross
> -
> -
> - echo $ac_n "checking what kind of list files are supported by the linker""... $ac_c" 1>&6
> --echo "configure:14576: checking what kind of list files are supported by the linker" >&5
> -+echo "configure:14516: checking what kind of list files are supported by the linker" >&5
> - if eval "test \"`echo '$''{'EXPAND_LIBS_LIST_STYLE'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   echo "int main() {return 0;}" > conftest.${ac_ext}
> --     if { ac_try='${CC-cc} -o conftest.${OBJ_SUFFIX} -c $CFLAGS $CPPFLAGS conftest.${ac_ext} 1>&5'; { (eval echo configure:14581: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.${OBJ_SUFFIX}; then
> -+     if { ac_try='${CC-cc} -o conftest.${OBJ_SUFFIX} -c $CFLAGS $CPPFLAGS conftest.${ac_ext} 1>&5'; { (eval echo configure:14521: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.${OBJ_SUFFIX}; then
> -          echo "INPUT(conftest.${OBJ_SUFFIX})" > conftest.list
> --         if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS conftest.list $LIBS 1>&5'; { (eval echo configure:14583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then
> -+         if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS conftest.list $LIBS 1>&5'; { (eval echo configure:14523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then
> -              EXPAND_LIBS_LIST_STYLE=linkerscript
> -          else
> -              echo "conftest.${OBJ_SUFFIX}" > conftest.list
> --             if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS @conftest.list $LIBS 1>&5'; { (eval echo configure:14587: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then
> -+             if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS @conftest.list $LIBS 1>&5'; { (eval echo configure:14527: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then
> -                  EXPAND_LIBS_LIST_STYLE=list
> -              else
> -                  EXPAND_LIBS_LIST_STYLE=none
> -@@ -14603,7 +14543,7 @@ LIBS_DESC_SUFFIX=desc
> -
> - if test "$GCC_USE_GNU_LD"; then
> -     echo $ac_n "checking what kind of ordering can be done with the linker""... $ac_c" 1>&6
> --echo "configure:14607: checking what kind of ordering can be done with the linker" >&5
> -+echo "configure:14547: checking what kind of ordering can be done with the linker" >&5
> - if eval "test \"`echo '$''{'EXPAND_LIBS_ORDER_STYLE'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -@@ -14611,14 +14551,14 @@ else
> -          _SAVE_LDFLAGS="$LDFLAGS"
> -          LDFLAGS="${LDFLAGS} -Wl,--section-ordering-file,conftest.order"
> -          cat > conftest.$ac_ext <<EOF
> --#line 14615 "configure"
> -+#line 14555 "configure"
> - #include "confdefs.h"
> -
> - int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:14562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   EXPAND_LIBS_ORDER_STYLE=section-ordering-file
> - else
> -@@ -14630,7 +14570,7 @@ fi
> - rm -f conftest*
> -          LDFLAGS="$_SAVE_LDFLAGS"
> -          if test -z "$EXPAND_LIBS_ORDER_STYLE"; then
> --             if { ac_try='${CC-cc} ${DSO_LDOPTS} ${LDFLAGS} -o ${DLL_PREFIX}conftest${DLL_SUFFIX} -Wl'; { (eval echo configure:14634: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
> -+             if { ac_try='${CC-cc} ${DSO_LDOPTS} ${LDFLAGS} -o ${DLL_PREFIX}conftest${DLL_SUFFIX} -Wl'; { (eval echo configure:14574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
> -                  EXPAND_LIBS_ORDER_STYLE=linkerscript
> -              else
> -                  EXPAND_LIBS_ORDER_STYLE=none
> -@@ -14741,7 +14681,7 @@ esac
> - if test -z "$SKIP_LIBRARY_CHECKS" -a -z "$NO_EDITLINE"; then
> -   if test -n "$JS_WANT_READLINE"; then
> -     echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
> --echo "configure:14745: checking for readline in -lreadline" >&5
> -+echo "configure:14685: checking for readline in -lreadline" >&5
> - ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
> - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> -@@ -14749,7 +14689,7 @@ else
> -   ac_save_LIBS="$LIBS"
> - LIBS="-lreadline  $LIBS"
> - cat > conftest.$ac_ext <<EOF
> --#line 14753 "configure"
> -+#line 14693 "configure"
> - #include "confdefs.h"
> - /* Override any gcc2 internal prototype to avoid an error.  */
> - /* We use char because int might match the return type of a gcc2
> -@@ -14760,7 +14700,7 @@ int main() {
> - readline()
> - ; return 0; }
> - EOF
> --if { (eval echo configure:14764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:14704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_lib_$ac_lib_var=yes"
> - else
> -@@ -14990,9 +14930,9 @@ EOF
> -
> -
> - echo $ac_n "checking for posix_fallocate""... $ac_c" 1>&6
> --echo "configure:14994: checking for posix_fallocate" >&5
> -+echo "configure:14934: checking for posix_fallocate" >&5
> - cat > conftest.$ac_ext <<EOF
> --#line 14996 "configure"
> -+#line 14936 "configure"
> - #include "confdefs.h"
> - #define _XOPEN_SOURCE 600
> -   #include <fcntl.h>
> -@@ -15000,7 +14940,7 @@ int main() {
> - posix_fallocate(0, 0, 0);
> - ; return 0; }
> - EOF
> --if { (eval echo configure:15004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:14944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   ac_cv___posix_fallocate=true
> - else
> -@@ -15029,7 +14969,7 @@ if test "$MOZ_X11"; then
> -                 _SAVE_CFLAGS=$CFLAGS
> -     CFLAGS="$CFLAGS $XCFLAGS"
> -     cat > conftest.$ac_ext <<EOF
> --#line 15033 "configure"
> -+#line 14973 "configure"
> - #include "confdefs.h"
> -
> -         #include <stdio.h>
> -@@ -15047,7 +14987,7 @@ int main() {
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:15051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -+if { (eval echo configure:14991: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
> -   :
> - else
> -   echo "configure: failed program was:" >&5
> -@@ -15162,12 +15102,12 @@ fi
> - for ac_func in setlocale
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:15166: checking for $ac_func" >&5
> -+echo "configure:15106: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 15171 "configure"
> -+#line 15111 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -15190,7 +15130,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:15194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:15134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> -@@ -15220,12 +15160,12 @@ done
> - for ac_func in localeconv
> - do
> - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
> --echo "configure:15224: checking for $ac_func" >&5
> -+echo "configure:15164: checking for $ac_func" >&5
> - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
> -   echo $ac_n "(cached) $ac_c" 1>&6
> - else
> -   cat > conftest.$ac_ext <<EOF
> --#line 15229 "configure"
> -+#line 15169 "configure"
> - #include "confdefs.h"
> - /* System header to define __stub macros and hopefully few prototypes,
> -     which can conflict with char $ac_func(); below.  */
> -@@ -15248,7 +15188,7 @@ $ac_func();
> -
> - ; return 0; }
> - EOF
> --if { (eval echo configure:15252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -+if { (eval echo configure:15192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
> -   rm -rf conftest*
> -   eval "ac_cv_func_$ac_func=yes"
> - else
> ---
> -1.9.3
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch b/meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch
> deleted file mode 100644
> index 6aeb2f6..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -From d4a15ad82292ff6d772dcc631df98754d20be31b Mon Sep 17 00:00:00 2001
> -From: Colin Walters <walters at verbum.org>
> -Date: Tue, 18 Mar 2014 11:46:05 -0400
> -Subject: [PATCH 2/5] Move JS_BYTES_PER_WORD out of config.h
> -
> -Instead define it in terms of the already extant GNU C extension
> -__SIZEOF_POINTER__.  This avoids multiarch conflicts when 32 and 64
> -bit packages of js are co-installed.
> ----
> -
> -Upstream-status: Pending
> -
> - js/src/configure.in   |  9 ---------
> - js/src/js-config.h.in |  1 -
> - js/src/jstypes.h      | 12 ++++++++++++
> - 3 files changed, 12 insertions(+), 10 deletions(-)
> -
> -diff --git a/js/src/configure.in b/js/src/configure.in
> -index 15605b2..64c7606 100644
> ---- a/js/src/configure.in
> -+++ b/js/src/configure.in
> -@@ -2345,15 +2345,6 @@ else
> -   AC_MSG_RESULT(no)
> - fi
> -
> --MOZ_SIZE_OF_TYPE(JS_BYTES_PER_WORD, void*, 4 8)
> --if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then
> --  AC_DEFINE(JS_BITS_PER_WORD_LOG2, 5)
> --elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then
> --  AC_DEFINE(JS_BITS_PER_WORD_LOG2, 6)
> --else
> --  AC_MSG_ERROR([Unexpected JS_BYTES_PER_WORD])
> --fi
> --
> - MOZ_ALIGN_OF_TYPE(JS_ALIGN_OF_POINTER, void*, 2 4 8 16)
> - MOZ_SIZE_OF_TYPE(JS_BYTES_PER_DOUBLE, double, 6 8 10 12 14)
> -
> -diff --git a/js/src/js-config.h.in b/js/src/js-config.h.in
> -index 6889e00..4775420 100644
> ---- a/js/src/js-config.h.in
> -+++ b/js/src/js-config.h.in
> -@@ -56,7 +56,6 @@
> - #undef JS_INT32_TYPE
> - #undef JS_INT64_TYPE
> - #undef JS_INTPTR_TYPE
> --#undef JS_BYTES_PER_WORD
> -
> - /* Some mozilla code uses JS-friend APIs that depend on JS_METHODJIT being
> -    correct. */
> -diff --git a/js/src/jstypes.h b/js/src/jstypes.h
> -index d0cf183..3e7928f 100644
> ---- a/js/src/jstypes.h
> -+++ b/js/src/jstypes.h
> -@@ -24,6 +24,18 @@
> - #include "mozilla/Util.h"
> -
> - #include "js-config.h"
> -+#ifndef JS_BYTES_PER_WORD
> -+#define JS_BYTES_PER_WORD __SIZEOF_POINTER__
> -+#endif
> -+#ifndef JS_BITS_PER_WORD_LOG2
> -+#if JS_BYTES_PER_WORD == 8
> -+#define JS_BITS_PER_WORD_LOG2 6
> -+#elif JS_BYTES_PER_WORD == 4
> -+#define JS_BITS_PER_WORD_LOG2 5
> -+#else
> -+#error Unhandled JS_BYTES_PER_WORD
> -+#endif
> -+#endif
> -
> - /***********************************************************************
> - ** MACROS:      JS_EXTERN_API
> ---
> -1.9.3
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch b/meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch
> new file mode 100644
> index 0000000..4f7ebc6
> --- /dev/null
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch
> @@ -0,0 +1,34 @@
> +From e6dcee5f8a0f80ce99946b81fa1233611a149fe6 Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia <hongxu.jia at windriver.com>
> +Date: Thu, 12 Jul 2018 18:00:52 +0800
> +Subject: [PATCH 2/5] fix cannot find link
> +
> +..
> +|DEBUG: link: Trying 'mips64-wrs-linux-ld --sysroot=tmp-glibc/work/
> +mips64-wrs-linux/mozjs/52.8.1-r0/recipe-sysroot '
> +|ERROR: Cannot find link
> +...
> +
> +Upstream-Status: Inappropriate [oe specific]
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + build/moz.configure/checks.configure | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/build/moz.configure/checks.configure b/build/moz.configure/checks.configure
> +index 8c2dbc0..83bffc3 100644
> +--- a/build/moz.configure/checks.configure
> ++++ b/build/moz.configure/checks.configure
> +@@ -128,7 +128,7 @@ def check_prog(var, progs, what=None, input=None, allow_missing=False,
> +
> +         for prog in value or progs:
> +             log.debug('%s: Trying %s', var.lower(), quote(prog))
> +-            result = find_program(prog, paths)
> ++            result = find_program(prog.split()[0], paths)
> +             if result:
> +                 return result
> +
> +--
> +2.7.4
> +
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch b/meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch
> new file mode 100644
> index 0000000..a754ff1
> --- /dev/null
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch
> @@ -0,0 +1,28 @@
> +From 646a78262b18e19721cd41ee515215221dd241b6 Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia <hongxu.jia at windriver.com>
> +Date: Thu, 12 Jul 2018 18:12:42 +0800
> +Subject: [PATCH 3/5] workaround  autoconf 2.13 detection failed
> +
> +Upstream-Status: Inappropriate [oe specific]
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + build/moz.configure/old.configure | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
> +index b32c3f7..ece47f4 100644
> +--- a/build/moz.configure/old.configure
> ++++ b/build/moz.configure/old.configure
> +@@ -31,7 +31,7 @@ def autoconf(mozconfig, autoconf):
> +     autoconf = autoconf[0] if autoconf else None
> +
> +     for ac in (mozconfig_autoconf, autoconf, 'autoconf-2.13', 'autoconf2.13',
> +-               'autoconf213'):
> ++               'autoconf213', 'autoconf'):
> +         if ac:
> +             autoconf = find_program(ac)
> +             if autoconf:
> +--
> +2.7.4
> +
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch b/meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch
> new file mode 100644
> index 0000000..4cba79c
> --- /dev/null
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch
> @@ -0,0 +1,42 @@
> +From a46adb74b5ba5e17d676d31d70faca76c1381d15 Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia <hongxu.jia at windriver.com>
> +Date: Thu, 12 Jul 2018 21:25:46 +0800
> +Subject: [PATCH 4/5] do not use autoconf 2.13 to refresh old.configure
> +
> +Upstream-Status: Inappropriate [oe specific]
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + build/moz.configure/old.configure | 2 +-
> + js/src/old-configure              | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
> +index ece47f4..a73900f 100644
> +--- a/build/moz.configure/old.configure
> ++++ b/build/moz.configure/old.configure
> +@@ -83,7 +83,7 @@ def prepare_configure(old_configure, mozconfig, autoconf, build_env, shell,
> +             old_configure = os.path.join(old_configure_dir, 'js', 'src',
> +                                          os.path.basename(old_configure))
> +
> +-    refresh = True
> ++    refresh = False
> +     if exists(old_configure):
> +         mtime = getmtime(old_configure)
> +         aclocal = os.path.join(build_env.topsrcdir, 'build', 'autoconf',
> +diff --git a/js/src/old-configure b/js/src/old-configure
> +index 75b00e1..8a8ef52 100644
> +--- a/js/src/old-configure
> ++++ b/js/src/old-configure
> +@@ -619,7 +619,7 @@ if test -z "$srcdir"; then
> +   ac_prog=$0
> +   ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
> +   test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
> +-  srcdir=$ac_confdir
> ++  srcdir="$ac_confdir/../../"
> +   if test ! -r $srcdir/$ac_unique_file; then
> +     srcdir=..
> +   fi
> +--
> +2.7.4
> +
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch b/meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch
> deleted file mode 100644
> index 8bd35d4..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch
> +++ /dev/null
> @@ -1,103 +0,0 @@
> -From 0128c5a9eeee0d3fc0deb9129dd20eb79338c8f4 Mon Sep 17 00:00:00 2001
> -From: Koen Kooi <koen.kooi at linaro.org>
> -Date: Mon, 2 Mar 2015 19:08:59 +0800
> -Subject: [PATCH 4/5] mozbug746112-no-decommit-on-large-pages
> -
> ----
> -Upstream-status: Pending
> -
> - js/src/gc/Heap.h | 15 ++++++++++-----
> - js/src/jsgc.cpp  | 15 ++++++++++++---
> - 2 files changed, 22 insertions(+), 8 deletions(-)
> -
> -diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h
> -index b8f8c78..1cfd269 100644
> ---- a/js/src/gc/Heap.h
> -+++ b/js/src/gc/Heap.h
> -@@ -103,26 +103,31 @@ struct Cell
> - };
> -
> - /*
> -- * Page size is 4096 by default, except for SPARC, where it is 8192.
> -+ * Page size must be static to support our arena pointer optimizations, so we
> -+ * are forced to support each platform with non-4096 pages as a special case.
> -+ * Note: The freelist supports a maximum arena shift of 15.
> -  * Note: Do not use JS_CPU_SPARC here, this header is used outside JS.
> -  * Bug 692267: Move page size definition to gc/Memory.h and include it
> -  *             directly once jsgc.h is no longer an installed header.
> -  */
> - #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9))
> - const size_t PageShift = 13;
> -+const size_t ArenaShift = PageShift;
> -+#elif defined(__powerpc__)
> -+const size_t PageShift = 16;
> -+const size_t ArenaShift = 12;
> - #else
> - const size_t PageShift = 12;
> -+const size_t ArenaShift = PageShift;
> - #endif
> - const size_t PageSize = size_t(1) << PageShift;
> -+const size_t ArenaSize = size_t(1) << ArenaShift;
> -+const size_t ArenaMask = ArenaSize - 1;
> -
> - const size_t ChunkShift = 20;
> - const size_t ChunkSize = size_t(1) << ChunkShift;
> - const size_t ChunkMask = ChunkSize - 1;
> -
> --const size_t ArenaShift = PageShift;
> --const size_t ArenaSize = PageSize;
> --const size_t ArenaMask = ArenaSize - 1;
> --
> - /*
> -  * This is the maximum number of arenas we allow in the FreeCommitted state
> -  * before we trigger a GC_SHRINK to release free arenas to the OS.
> -diff --git a/js/src/jsgc.cpp b/js/src/jsgc.cpp
> -index b3caf05..a258d2d 100644
> ---- a/js/src/jsgc.cpp
> -+++ b/js/src/jsgc.cpp
> -@@ -251,6 +251,13 @@ static const int BackgroundPhaseLength[] = {
> -     sizeof(BackgroundPhaseStrings) / sizeof(AllocKind)
> - };
> -
> -+/* Unused memory decommiting requires the arena size match the page size. */
> -+static bool
> -+DecommitEnabled()
> -+{
> -+    return PageSize == ArenaSize;
> -+}
> -+
> - #ifdef DEBUG
> - void
> - ArenaHeader::checkSynchronizedWithFreeList() const
> -@@ -742,7 +749,8 @@ Chunk::fetchNextDecommittedArena()
> -     decommittedArenas.unset(offset);
> -
> -     Arena *arena = &arenas[offset];
> --    MarkPagesInUse(arena, ArenaSize);
> -+    if (DecommitEnabled())
> -+        MarkPagesInUse(arena, ArenaSize);
> -     arena->aheader.setAsNotAllocated();
> -
> -     return &arena->aheader;
> -@@ -2731,7 +2739,7 @@ DecommitArenasFromAvailableList(JSRuntime *rt, Chunk **availableListHeadp)
> -                 chunk->removeFromAvailableList();
> -
> -             size_t arenaIndex = Chunk::arenaIndex(aheader->arenaAddress());
> --            bool ok;
> -+            bool ok = true;
> -             {
> -                 /*
> -                  * If the main thread waits for the decommit to finish, skip
> -@@ -2741,7 +2749,8 @@ DecommitArenasFromAvailableList(JSRuntime *rt, Chunk **availableListHeadp)
> -                 Maybe<AutoUnlockGC> maybeUnlock;
> -                 if (!rt->isHeapBusy())
> -                     maybeUnlock.construct(rt);
> --                ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
> -+                if (DecommitEnabled())
> -+                    ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
> -             }
> -
> -             if (ok) {
> ---
> -1.9.3
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch b/meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch
> deleted file mode 100644
> index bc99ecc..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -From 9c42920c2b635a399bd1f93833efdeb1696f17ee Mon Sep 17 00:00:00 2001
> -From: Koen Kooi <koen.kooi at linaro.org>
> -Date: Mon, 2 Mar 2015 19:09:57 +0800
> -Subject: [PATCH 5/5] aarch64-64k-page
> -
> ----
> -Upstream-status: Pending
> -
> - js/src/gc/Heap.h     | 2 +-
> - js/src/gc/Memory.cpp | 3 +++
> - 2 files changed, 4 insertions(+), 1 deletion(-)
> -
> -diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h
> -index 1cfd269..f4dbcda 100644
> ---- a/js/src/gc/Heap.h
> -+++ b/js/src/gc/Heap.h
> -@@ -113,7 +113,7 @@ struct Cell
> - #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9))
> - const size_t PageShift = 13;
> - const size_t ArenaShift = PageShift;
> --#elif defined(__powerpc__)
> -+#elif defined(__powerpc__) || defined(__aarch64__)
> - const size_t PageShift = 16;
> - const size_t ArenaShift = 12;
> - #else
> -diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
> -index 5b386a2..e5ad018 100644
> ---- a/js/src/gc/Memory.cpp
> -+++ b/js/src/gc/Memory.cpp
> -@@ -302,8 +302,11 @@ GetPageFaultCount()
> - void
> - InitMemorySubsystem()
> - {
> -+    /* aarch64 may have 64KB or 4KB pages */
> -+#ifndef __aarch64__
> -     if (size_t(sysconf(_SC_PAGESIZE)) != PageSize)
> -         MOZ_CRASH();
> -+#endif
> - }
> -
> - void *
> ---
> -1.9.3
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch b/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
> new file mode 100644
> index 0000000..38e4698
> --- /dev/null
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
> @@ -0,0 +1,38 @@
> +From 55d833dc3c194f1eb7841f308ad3b9ec3800d3b3 Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia <hongxu.jia at windriver.com>
> +Date: Fri, 13 Jul 2018 15:48:32 +0800
> +Subject: [PATCH 5/5] fix do_compile failed on mips
> +
> +Link with var-OS_LDFLAGS to fix the issue.
> +Such as on mips:
> +...
> +|mips-wrsmllib32-linux-g++ -meb -mabi=32 -mhard-float ... -o libmozjs-52.so
> +|/usr/include/c++/8.1.0/bits/atomic_base.h:514: error: undefined
> +reference to '__atomic_fetch_add_8'
> +...
> +
> +In recipe, set OS_LDFLAGS="-Wl,-latomic" could fix the issue.
> +
> +Upstream-Status: Inappropriate [oe specific]
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + config/config.mk | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/config/config.mk b/config/config.mk
> +index 4e3fd1a..d847ffa 100644
> +--- a/config/config.mk
> ++++ b/config/config.mk
> +@@ -523,7 +523,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
> + ifdef SYMBOL_ORDER
> + EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
> + endif
> +-EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
> ++EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS)
> +
> + # $(call CHECK_SYMBOLS,lib,PREFIX,dep_name,test)
> + # Checks that the given `lib` doesn't contain dependency on symbols with a
> +--
> +2.7.4
> +
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch b/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
> new file mode 100644
> index 0000000..32a977c
> --- /dev/null
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
> @@ -0,0 +1,158 @@
> +From 04e8a611e958f0da1ccac61acae3a6f1a5168b20 Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia <hongxu.jia at windriver.com>
> +Date: Fri, 13 Jul 2018 18:08:14 +0800
> +Subject: [PATCH] support musl
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + memory/jemalloc/src/src/pages.c              | 1 -
> + memory/mozjemalloc/jemalloc.c                | 7 +++----
> + mozglue/misc/TimeStamp_darwin.cpp            | 1 -
> + mozglue/misc/TimeStamp_posix.cpp             | 1 -
> + nsprpub/pr/src/misc/prsystem.c               | 1 -
> + python/psutil/psutil/_psutil_bsd.c           | 1 -
> + python/psutil/psutil/_psutil_osx.c           | 1 -
> + python/psutil/psutil/arch/bsd/process_info.c | 1 -
> + python/psutil/psutil/arch/osx/process_info.c | 1 -
> + 9 files changed, 3 insertions(+), 12 deletions(-)
> +
> +diff --git a/memory/jemalloc/src/src/pages.c b/memory/jemalloc/src/src/pages.c
> +index 647952a..7b964c8 100644
> +--- a/memory/jemalloc/src/src/pages.c
> ++++ b/memory/jemalloc/src/src/pages.c
> +@@ -2,7 +2,6 @@
> + #include "jemalloc/internal/jemalloc_internal.h"
> +
> + #ifdef JEMALLOC_SYSCTL_VM_OVERCOMMIT
> +-#include <sys/sysctl.h>
> + #endif
> +
> + /******************************************************************************/
> +diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
> +index 5d4d83a..c618de9 100644
> +--- a/memory/mozjemalloc/jemalloc.c
> ++++ b/memory/mozjemalloc/jemalloc.c
> +@@ -332,7 +332,6 @@ __FBSDID("$FreeBSD: head/lib/libc/stdlib/malloc.c 180599 2008-07-18 19:35:44Z ja
> + #include <sys/time.h>
> + #include <sys/types.h>
> + #if !defined(MOZ_MEMORY_SOLARIS) && !defined(MOZ_MEMORY_ANDROID)
> +-#include <sys/sysctl.h>
> + #endif
> + #include <sys/uio.h>
> + #ifndef MOZ_MEMORY
> +@@ -674,7 +673,7 @@ static bool malloc_initialized = false;
> + #elif defined(MOZ_MEMORY_DARWIN)
> + static malloc_mutex_t init_lock = {OS_SPINLOCK_INIT};
> + #elif defined(MOZ_MEMORY_LINUX) && !defined(MOZ_MEMORY_ANDROID)
> +-static malloc_mutex_t init_lock = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
> ++static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
> + #elif defined(MOZ_MEMORY)
> + static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
> + #else
> +@@ -1644,7 +1643,7 @@ malloc_mutex_init(malloc_mutex_t *mutex)
> + 	pthread_mutexattr_t attr;
> + 	if (pthread_mutexattr_init(&attr) != 0)
> + 		return (true);
> +-	pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
> ++	pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
> + 	if (pthread_mutex_init(mutex, &attr) != 0) {
> + 		pthread_mutexattr_destroy(&attr);
> + 		return (true);
> +@@ -1709,7 +1708,7 @@ malloc_spin_init(malloc_spinlock_t *lock)
> + 	pthread_mutexattr_t attr;
> + 	if (pthread_mutexattr_init(&attr) != 0)
> + 		return (true);
> +-	pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
> ++	pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
> + 	if (pthread_mutex_init(lock, &attr) != 0) {
> + 		pthread_mutexattr_destroy(&attr);
> + 		return (true);
> +diff --git a/mozglue/misc/TimeStamp_darwin.cpp b/mozglue/misc/TimeStamp_darwin.cpp
> +index f30bc98..3998c9c 100644
> +--- a/mozglue/misc/TimeStamp_darwin.cpp
> ++++ b/mozglue/misc/TimeStamp_darwin.cpp
> +@@ -18,7 +18,6 @@
> +
> + #include <mach/mach_time.h>
> + #include <sys/time.h>
> +-#include <sys/sysctl.h>
> + #include <time.h>
> + #include <unistd.h>
> +
> +diff --git a/mozglue/misc/TimeStamp_posix.cpp b/mozglue/misc/TimeStamp_posix.cpp
> +index 05dedde..d9e30f2 100644
> +--- a/mozglue/misc/TimeStamp_posix.cpp
> ++++ b/mozglue/misc/TimeStamp_posix.cpp
> +@@ -21,7 +21,6 @@
> + #if defined(__DragonFly__) || defined(__FreeBSD__) \
> +     || defined(__NetBSD__) || defined(__OpenBSD__)
> + #include <sys/param.h>
> +-#include <sys/sysctl.h>
> + #endif
> +
> + #if defined(__DragonFly__) || defined(__FreeBSD__)
> +diff --git a/nsprpub/pr/src/misc/prsystem.c b/nsprpub/pr/src/misc/prsystem.c
> +index eba85fb..54b57bb 100644
> +--- a/nsprpub/pr/src/misc/prsystem.c
> ++++ b/nsprpub/pr/src/misc/prsystem.c
> +@@ -27,7 +27,6 @@
> +     || defined(OPENBSD) || defined(DRAGONFLY) || defined(DARWIN)
> + #define _PR_HAVE_SYSCTL
> + #include <sys/param.h>
> +-#include <sys/sysctl.h>
> + #endif
> +
> + #if defined(DARWIN)
> +diff --git a/python/psutil/psutil/_psutil_bsd.c b/python/psutil/psutil/_psutil_bsd.c
> +index 7b6e561..0a91262 100644
> +--- a/python/psutil/psutil/_psutil_bsd.c
> ++++ b/python/psutil/psutil/_psutil_bsd.c
> +@@ -16,7 +16,6 @@
> + #include <fcntl.h>
> + #include <paths.h>
> + #include <sys/types.h>
> +-#include <sys/sysctl.h>
> + #include <sys/param.h>
> + #include <sys/user.h>
> + #include <sys/proc.h>
> +diff --git a/python/psutil/psutil/_psutil_osx.c b/python/psutil/psutil/_psutil_osx.c
> +index 3ebf8ff..b3910ba 100644
> +--- a/python/psutil/psutil/_psutil_osx.c
> ++++ b/python/psutil/psutil/_psutil_osx.c
> +@@ -13,7 +13,6 @@
> + #include <stdlib.h>
> + #include <stdio.h>
> + #include <utmpx.h>
> +-#include <sys/sysctl.h>
> + #include <sys/vmmeter.h>
> + #include <libproc.h>
> + #include <sys/proc_info.h>
> +diff --git a/python/psutil/psutil/arch/bsd/process_info.c b/python/psutil/psutil/arch/bsd/process_info.c
> +index 4d73924..46f288d 100644
> +--- a/python/psutil/psutil/arch/bsd/process_info.c
> ++++ b/python/psutil/psutil/arch/bsd/process_info.c
> +@@ -15,7 +15,6 @@
> + #include <stdio.h>
> + #include <string.h>
> + #include <sys/types.h>
> +-#include <sys/sysctl.h>
> + #include <sys/param.h>
> + #include <sys/user.h>
> + #include <sys/proc.h>
> +diff --git a/python/psutil/psutil/arch/osx/process_info.c b/python/psutil/psutil/arch/osx/process_info.c
> +index b6dd5bb..62a838f 100644
> +--- a/python/psutil/psutil/arch/osx/process_info.c
> ++++ b/python/psutil/psutil/arch/osx/process_info.c
> +@@ -16,7 +16,6 @@
> + #include <stdlib.h>
> + #include <stdio.h>
> + #include <signal.h>
> +-#include <sys/sysctl.h>
> + #include <libproc.h>
> +
> + #include "process_info.h"
> +--
> +2.7.4
> +
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch b/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
> index 6432e1f..9194e34 100644
> --- a/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
> +++ b/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
> @@ -1,4 +1,4 @@
> -From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001
> +From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17  00:00:00 2001
>   From: Maciej Borzecki <maciej.borzecki at open-rnd.pl>
>   Date: Tue, 5 Jan 2016 22:04:17 +0100
>   Subject: [PATCH] fix cross compilation on i586 targets
> @@ -10,37 +10,26 @@ regenerate configure, similar fix is applied there.
>   Upstream-Status: Inappropriate [embedded specific]
>   
>   Signed-off-by: Maciej Borzecki <maciej.borzecki at open-rnd.pl>
> +
> +Rebase to 52.8.1
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
>   ---
> - js/src/configure    | 2 +-
> - js/src/configure.in | 2 +-
> - 2 files changed, 2 insertions(+), 2 deletions(-)
> + js/src/old-configure | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
>   
> -diff --git a/js/src/configure b/js/src/configure
> -index d019b0fdba44233596541de94307010d85a8e32e..5aa40f757a3dbb7d6887175046f44212c15c2eac 100755
> ---- a/js/src/configure
> -+++ b/js/src/configure
> -@@ -5555,7 +5555,7 @@ TARGET_MD_ARCH=unix
> +diff --git a/js/src/old-configure b/js/src/old-configure
> +index 8a8ef52..d7afcff 100644
> +--- a/js/src/old-configure
> ++++ b/js/src/old-configure
> +@@ -3964,7 +3964,7 @@ IMPORT_LIB_SUFFIX=
>    DIRENT_INO=d_ino
>    MOZ_USER_DIR=".mozilla"
>    
> --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib'
> -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin'
> -
> - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)'
> -
> -diff --git a/js/src/configure.in b/js/src/configure.in
> -index 0673aca12f6d83035549ade2a4a83906bf91f0f0..39b22724f9535ac1a6dba04658c91e4ef667fc47 100644
> ---- a/js/src/configure.in
> -+++ b/js/src/configure.in
> -@@ -919,7 +919,7 @@ TARGET_MD_ARCH=unix
> - DIRENT_INO=d_ino
> - MOZ_USER_DIR=".mozilla"
> +-MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
> ++MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin"
>    
> --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib'
> -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin'
>    
> - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)'
>    
>   --
> -2.5.0
> +2.7.4
>   
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch b/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
> deleted file mode 100644
> index 83f4543..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
> +++ /dev/null
> @@ -1,112 +0,0 @@
> -From 1d1fa95c8ff7697e46343385a79a8f7e5c514a87 Mon Sep 17 00:00:00 2001
> -From: Zheng Xu <zheng.xu at linaro.org>
> -Date: Fri, 2 Sep 2016 17:40:05 +0800
> -Subject: [PATCH] Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits
> - are clear. r=ehoogeveen
> -
> -There might be 48-bit VA on arm64 depending on kernel configuration.
> -Manually mmap heap memory to align with the assumption made by JS engine.
> -
> -Change-Id: Ic5d2b2fe4b758b3c87cc0688348af7e71a991146
> -
> -Upstream-status: Backport
> -
> ----
> - js/src/gc/Memory.cpp | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++--
> - 1 file changed, 71 insertions(+), 2 deletions(-)
> -
> -diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
> -index e5ad018..4149adf 100644
> ---- a/js/src/gc/Memory.cpp
> -+++ b/js/src/gc/Memory.cpp
> -@@ -309,6 +309,75 @@ InitMemorySubsystem()
> - #endif
> - }
> -
> -+static inline void *
> -+MapMemory(size_t length, int prot, int flags, int fd, off_t offset)
> -+{
> -+#if defined(__ia64__)
> -+    /*
> -+     * The JS engine assumes that all allocated pointers have their high 17 bits clear,
> -+     * which ia64's mmap doesn't support directly. However, we can emulate it by passing
> -+     * mmap an "addr" parameter with those bits clear. The mmap will return that address,
> -+     * or the nearest available memory above that address, providing a near-guarantee
> -+     * that those bits are clear. If they are not, we return NULL below to indicate
> -+     * out-of-memory.
> -+     *
> -+     * The addr is chosen as 0x0000070000000000, which still allows about 120TB of virtual
> -+     * address space.
> -+     *
> -+     * See Bug 589735 for more information.
> -+     */
> -+    void *region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset);
> -+    if (region == MAP_FAILED)
> -+        return MAP_FAILED;
> -+    /*
> -+     * If the allocated memory doesn't have its upper 17 bits clear, consider it
> -+     * as out of memory.
> -+     */
> -+    if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
> -+        JS_ALWAYS_TRUE(0 == munmap(region, length));
> -+        return MAP_FAILED;
> -+    }
> -+    return region;
> -+#elif defined(__aarch64__)
> -+   /*
> -+    * There might be similar virtual address issue on arm64 which depends on
> -+    * hardware and kernel configurations. But the work around is slightly
> -+    * different due to the different mmap behavior.
> -+    *
> -+    * TODO: Merge with the above code block if this implementation works for
> -+    * ia64 and sparc64.
> -+    */
> -+    const uintptr_t start = UINT64_C(0x0000070000000000);
> -+    const uintptr_t end   = UINT64_C(0x0000800000000000);
> -+    const uintptr_t step  = ChunkSize;
> -+   /*
> -+    * Optimization options if there are too many retries in practice:
> -+    * 1. Examine /proc/self/maps to find an available address. This file is
> -+    *    not always available, however. In addition, even if we examine
> -+    *    /proc/self/maps, we may still need to retry several times due to
> -+    *    racing with other threads.
> -+    * 2. Use a global/static variable with lock to track the addresses we have
> -+    *    allocated or tried.
> -+    */
> -+    uintptr_t hint;
> -+    void* region = MAP_FAILED;
> -+    for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
> -+        region = mmap((void*)hint, length, prot, flags, fd, offset);
> -+        if (region != MAP_FAILED) {
> -+            if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
> -+                if (munmap(region, length)) {
> -+                    MOZ_ASSERT(errno == ENOMEM);
> -+                }
> -+                region = MAP_FAILED;
> -+            }
> -+        }
> -+    }
> -+    return region == MAP_FAILED ? NULL : region;
> -+#else
> -+    return mmap(NULL, length, prot, flags, fd, offset);
> -+#endif
> -+}
> -+
> - void *
> - MapAlignedPages(size_t size, size_t alignment)
> - {
> -@@ -322,12 +391,12 @@ MapAlignedPages(size_t size, size_t alignment)
> -
> -     /* Special case: If we want page alignment, no further work is needed. */
> -     if (alignment == PageSize) {
> --        return mmap(NULL, size, prot, flags, -1, 0);
> -+        return MapMemory(size, prot, flags, -1, 0);
> -     }
> -
> -     /* Overallocate and unmap the region's edges. */
> -     size_t reqSize = Min(size + 2 * alignment, 2 * size);
> --    void *region = mmap(NULL, reqSize, prot, flags, -1, 0);
> -+    void *region = MapMemory(reqSize, prot, flags, -1, 0);
> -     if (region == MAP_FAILED)
> -         return NULL;
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/Update-Double-Conversion.patch b/meta-oe/recipes-extended/mozjs/mozjs/Update-Double-Conversion.patch
> deleted file mode 100644
> index c5979c9..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/Update-Double-Conversion.patch
> +++ /dev/null
> @@ -1,1732 +0,0 @@
> -From b4961d6e1d273dd9643fc3c055163d5cd3362fb7 Mon Sep 17 00:00:00 2001
> -From: Alistair Francis <alistair.francis at wdc.com>
> -Date: Fri, 1 Jun 2018 14:47:31 -0700
> -Subject: [PATCH] Update double conversion
> -
> -Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
> ----
> - mfbt/double-conversion/COPYING              |  26 ++
> - mfbt/double-conversion/bignum-dtoa.cc       |  19 +-
> - mfbt/double-conversion/bignum-dtoa.h        |   2 +-
> - mfbt/double-conversion/bignum.cc            |  39 +--
> - mfbt/double-conversion/bignum.h             |   5 +-
> - mfbt/double-conversion/cached-powers.cc     |  14 +-
> - mfbt/double-conversion/cached-powers.h      |   2 +-
> - mfbt/double-conversion/diy-fp.cc            |   4 +-
> - mfbt/double-conversion/diy-fp.h             |  24 +-
> - mfbt/double-conversion/double-conversion.cc | 293 ++++++++++++++------
> - mfbt/double-conversion/double-conversion.h  |  78 +++---
> - mfbt/double-conversion/fast-dtoa.cc         |  29 +-
> - mfbt/double-conversion/fast-dtoa.h          |   2 +-
> - mfbt/double-conversion/fixed-dtoa.cc        |  23 +-
> - mfbt/double-conversion/fixed-dtoa.h         |   2 +-
> - mfbt/double-conversion/ieee.h               |   8 +-
> - mfbt/double-conversion/strtod.cc            |  59 ++--
> - mfbt/double-conversion/strtod.h             |   2 +-
> - mfbt/double-conversion/utils.h              |  62 +++--
> - 19 files changed, 465 insertions(+), 228 deletions(-)
> - create mode 100644 mfbt/double-conversion/COPYING
> -
> -diff --git a/mfbt/double-conversion/COPYING b/mfbt/double-conversion/COPYING
> -new file mode 100644
> -index 0000000..933718a
> ---- /dev/null
> -+++ b/mfbt/double-conversion/COPYING
> -@@ -0,0 +1,26 @@
> -+Copyright 2006-2011, the V8 project authors. All rights reserved.
> -+Redistribution and use in source and binary forms, with or without
> -+modification, are permitted provided that the following conditions are
> -+met:
> -+
> -+    * Redistributions of source code must retain the above copyright
> -+      notice, this list of conditions and the following disclaimer.
> -+    * Redistributions in binary form must reproduce the above
> -+      copyright notice, this list of conditions and the following
> -+      disclaimer in the documentation and/or other materials provided
> -+      with the distribution.
> -+    * Neither the name of Google Inc. nor the names of its
> -+      contributors may be used to endorse or promote products derived
> -+      from this software without specific prior written permission.
> -+
> -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -diff --git a/mfbt/double-conversion/bignum-dtoa.cc b/mfbt/double-conversion/bignum-dtoa.cc
> -index b6c2e85..06bdf55 100644
> ---- a/mfbt/double-conversion/bignum-dtoa.cc
> -+++ b/mfbt/double-conversion/bignum-dtoa.cc
> -@@ -25,12 +25,12 @@
> - // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> --#include <math.h>
> -+#include <cmath>
> -
> --#include "bignum-dtoa.h"
> -+#include <bignum-dtoa.h>
> -
> --#include "bignum.h"
> --#include "ieee.h"
> -+#include <bignum.h>
> -+#include <ieee.h>
> -
> - namespace double_conversion {
> -
> -@@ -192,13 +192,13 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator,
> -     delta_plus = delta_minus;
> -   }
> -   *length = 0;
> --  while (true) {
> -+  for (;;) {
> -     uint16_t digit;
> -     digit = numerator->DivideModuloIntBignum(*denominator);
> -     ASSERT(digit <= 9);  // digit is a uint16_t and therefore always positive.
> -     // digit = numerator / denominator (integer division).
> -     // numerator = numerator % denominator.
> --    buffer[(*length)++] = digit + '0';
> -+    buffer[(*length)++] = static_cast<char>(digit + '0');
> -
> -     // Can we stop already?
> -     // If the remainder of the division is less than the distance to the lower
> -@@ -282,7 +282,7 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator,
> - // exponent (decimal_point), when rounding upwards.
> - static void GenerateCountedDigits(int count, int* decimal_point,
> -                                   Bignum* numerator, Bignum* denominator,
> --                                  Vector<char>(buffer), int* length) {
> -+                                  Vector<char> buffer, int* length) {
> -   ASSERT(count >= 0);
> -   for (int i = 0; i < count - 1; ++i) {
> -     uint16_t digit;
> -@@ -290,7 +290,7 @@ static void GenerateCountedDigits(int count, int* decimal_point,
> -     ASSERT(digit <= 9);  // digit is a uint16_t and therefore always positive.
> -     // digit = numerator / denominator (integer division).
> -     // numerator = numerator % denominator.
> --    buffer[i] = digit + '0';
> -+    buffer[i] = static_cast<char>(digit + '0');
> -     // Prepare for next iteration.
> -     numerator->Times10();
> -   }
> -@@ -300,7 +300,8 @@ static void GenerateCountedDigits(int count, int* decimal_point,
> -   if (Bignum::PlusCompare(*numerator, *numerator, *denominator) >= 0) {
> -     digit++;
> -   }
> --  buffer[count - 1] = digit + '0';
> -+  ASSERT(digit <= 10);
> -+  buffer[count - 1] = static_cast<char>(digit + '0');
> -   // Correct bad digits (in case we had a sequence of '9's). Propagate the
> -   // carry until we hat a non-'9' or til we reach the first digit.
> -   for (int i = count - 1; i > 0; --i) {
> -diff --git a/mfbt/double-conversion/bignum-dtoa.h b/mfbt/double-conversion/bignum-dtoa.h
> -index 34b9619..88d936a 100644
> ---- a/mfbt/double-conversion/bignum-dtoa.h
> -+++ b/mfbt/double-conversion/bignum-dtoa.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_BIGNUM_DTOA_H_
> - #define DOUBLE_CONVERSION_BIGNUM_DTOA_H_
> -
> --#include "utils.h"
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -diff --git a/mfbt/double-conversion/bignum.cc b/mfbt/double-conversion/bignum.cc
> -index 747491a..4786c2e 100644
> ---- a/mfbt/double-conversion/bignum.cc
> -+++ b/mfbt/double-conversion/bignum.cc
> -@@ -25,13 +25,13 @@
> - // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> --#include "bignum.h"
> --#include "utils.h"
> -+#include <bignum.h>
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> - Bignum::Bignum()
> --    : bigits_(bigits_buffer_, kBigitCapacity), used_digits_(0), exponent_(0) {
> -+    : bigits_buffer_(), bigits_(bigits_buffer_, kBigitCapacity), used_digits_(0), exponent_(0) {
> -   for (int i = 0; i < kBigitCapacity; ++i) {
> -     bigits_[i] = 0;
> -   }
> -@@ -40,6 +40,7 @@ Bignum::Bignum()
> -
> - template<typename S>
> - static int BitSize(S value) {
> -+  (void) value;  // Mark variable as used.
> -   return 8 * sizeof(value);
> - }
> -
> -@@ -103,7 +104,7 @@ void Bignum::AssignDecimalString(Vector<const char> value) {
> -   const int kMaxUint64DecimalDigits = 19;
> -   Zero();
> -   int length = value.length();
> --  int pos = 0;
> -+  unsigned int pos = 0;
> -   // Let's just say that each digit needs 4 bits.
> -   while (length >= kMaxUint64DecimalDigits) {
> -     uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits);
> -@@ -122,9 +123,8 @@ void Bignum::AssignDecimalString(Vector<const char> value) {
> - static int HexCharValue(char c) {
> -   if ('0' <= c && c <= '9') return c - '0';
> -   if ('a' <= c && c <= 'f') return 10 + c - 'a';
> --  if ('A' <= c && c <= 'F') return 10 + c - 'A';
> --  UNREACHABLE();
> --  return 0;  // To make compiler happy.
> -+  ASSERT('A' <= c && c <= 'F');
> -+  return 10 + c - 'A';
> - }
> -
> -
> -@@ -445,26 +445,27 @@ void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) {
> -   mask >>= 2;
> -   uint64_t this_value = base;
> -
> --  bool delayed_multipliciation = false;
> -+  bool delayed_multiplication = false;
> -   const uint64_t max_32bits = 0xFFFFFFFF;
> -   while (mask != 0 && this_value <= max_32bits) {
> -     this_value = this_value * this_value;
> -     // Verify that there is enough space in this_value to perform the
> -     // multiplication.  The first bit_size bits must be 0.
> -     if ((power_exponent & mask) != 0) {
> -+      ASSERT(bit_size > 0);
> -       uint64_t base_bits_mask =
> -           ~((static_cast<uint64_t>(1) << (64 - bit_size)) - 1);
> -       bool high_bits_zero = (this_value & base_bits_mask) == 0;
> -       if (high_bits_zero) {
> -         this_value *= base;
> -       } else {
> --        delayed_multipliciation = true;
> -+        delayed_multiplication = true;
> -       }
> -     }
> -     mask >>= 1;
> -   }
> -   AssignUInt64(this_value);
> --  if (delayed_multipliciation) {
> -+  if (delayed_multiplication) {
> -     MultiplyByUInt32(base);
> -   }
> -
> -@@ -501,13 +502,14 @@ uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) {
> -   // Start by removing multiples of 'other' until both numbers have the same
> -   // number of digits.
> -   while (BigitLength() > other.BigitLength()) {
> --    // This naive approach is extremely inefficient if the this divided other
> --    // might be big. This function is implemented for doubleToString where
> -+    // This naive approach is extremely inefficient if `this` divided by other
> -+    // is big. This function is implemented for doubleToString where
> -     // the result should be small (less than 10).
> -     ASSERT(other.bigits_[other.used_digits_ - 1] >= ((1 << kBigitSize) / 16));
> -+    ASSERT(bigits_[used_digits_ - 1] < 0x10000);
> -     // Remove the multiples of the first digit.
> -     // Example this = 23 and other equals 9. -> Remove 2 multiples.
> --    result += bigits_[used_digits_ - 1];
> -+    result += static_cast<uint16_t>(bigits_[used_digits_ - 1]);
> -     SubtractTimes(other, bigits_[used_digits_ - 1]);
> -   }
> -
> -@@ -523,13 +525,15 @@ uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) {
> -     // Shortcut for easy (and common) case.
> -     int quotient = this_bigit / other_bigit;
> -     bigits_[used_digits_ - 1] = this_bigit - other_bigit * quotient;
> --    result += quotient;
> -+    ASSERT(quotient < 0x10000);
> -+    result += static_cast<uint16_t>(quotient);
> -     Clamp();
> -     return result;
> -   }
> -
> -   int division_estimate = this_bigit / (other_bigit + 1);
> --  result += division_estimate;
> -+  ASSERT(division_estimate < 0x10000);
> -+  result += static_cast<uint16_t>(division_estimate);
> -   SubtractTimes(other, division_estimate);
> -
> -   if (other_bigit * (division_estimate + 1) > this_bigit) {
> -@@ -560,8 +564,8 @@ static int SizeInHexChars(S number) {
> -
> - static char HexCharOfValue(int value) {
> -   ASSERT(0 <= value && value <= 16);
> --  if (value < 10) return value + '0';
> --  return value - 10 + 'A';
> -+  if (value < 10) return static_cast<char>(value + '0');
> -+  return static_cast<char>(value - 10 + 'A');
> - }
> -
> -
> -@@ -755,7 +759,6 @@ void Bignum::SubtractTimes(const Bignum& other, int factor) {
> -     Chunk difference = bigits_[i] - borrow;
> -     bigits_[i] = difference & kBigitMask;
> -     borrow = difference >> (kChunkSize - 1);
> --    ++i;
> -   }
> -   Clamp();
> - }
> -diff --git a/mfbt/double-conversion/bignum.h b/mfbt/double-conversion/bignum.h
> -index 5ec3544..4fdad0c 100644
> ---- a/mfbt/double-conversion/bignum.h
> -+++ b/mfbt/double-conversion/bignum.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_BIGNUM_H_
> - #define DOUBLE_CONVERSION_BIGNUM_H_
> -
> --#include "utils.h"
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -@@ -49,7 +49,6 @@ class Bignum {
> -
> -   void AssignPowerUInt16(uint16_t base, int exponent);
> -
> --  void AddUInt16(uint16_t operand);
> -   void AddUInt64(uint64_t operand);
> -   void AddBignum(const Bignum& other);
> -   // Precondition: this >= other.
> -@@ -137,7 +136,7 @@ class Bignum {
> -   // The Bignum's value equals value(bigits_) * 2^(exponent_ * kBigitSize).
> -   int exponent_;
> -
> --  DISALLOW_COPY_AND_ASSIGN(Bignum);
> -+  DC_DISALLOW_COPY_AND_ASSIGN(Bignum);
> - };
> -
> - }  // namespace double_conversion
> -diff --git a/mfbt/double-conversion/cached-powers.cc b/mfbt/double-conversion/cached-powers.cc
> -index c676429..06e819d 100644
> ---- a/mfbt/double-conversion/cached-powers.cc
> -+++ b/mfbt/double-conversion/cached-powers.cc
> -@@ -25,13 +25,13 @@
> - // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> --#include <stdarg.h>
> --#include <limits.h>
> --#include <math.h>
> -+#include <climits>
> -+#include <cmath>
> -+#include <cstdarg>
> -
> --#include "utils.h"
> -+#include <utils.h>
> -
> --#include "cached-powers.h"
> -+#include <cached-powers.h>
> -
> - namespace double_conversion {
> -
> -@@ -131,7 +131,6 @@ static const CachedPower kCachedPowers[] = {
> -   {UINT64_2PART_C(0xaf87023b, 9bf0ee6b), 1066, 340},
> - };
> -
> --static const int kCachedPowersLength = ARRAY_SIZE(kCachedPowers);
> - static const int kCachedPowersOffset = 348;  // -1 * the first decimal_exponent.
> - static const double kD_1_LOG2_10 = 0.30102999566398114;  //  1 / lg(10)
> - // Difference between the decimal exponents in the table above.
> -@@ -149,9 +148,10 @@ void PowersOfTenCache::GetCachedPowerForBinaryExponentRange(
> -   int foo = kCachedPowersOffset;
> -   int index =
> -       (foo + static_cast<int>(k) - 1) / kDecimalExponentDistance + 1;
> --  ASSERT(0 <= index && index < kCachedPowersLength);
> -+  ASSERT(0 <= index && index < static_cast<int>(ARRAY_SIZE(kCachedPowers)));
> -   CachedPower cached_power = kCachedPowers[index];
> -   ASSERT(min_exponent <= cached_power.binary_exponent);
> -+  (void) max_exponent;  // Mark variable as used.
> -   ASSERT(cached_power.binary_exponent <= max_exponent);
> -   *decimal_exponent = cached_power.decimal_exponent;
> -   *power = DiyFp(cached_power.significand, cached_power.binary_exponent);
> -diff --git a/mfbt/double-conversion/cached-powers.h b/mfbt/double-conversion/cached-powers.h
> -index 61a5061..a425d7c 100644
> ---- a/mfbt/double-conversion/cached-powers.h
> -+++ b/mfbt/double-conversion/cached-powers.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_CACHED_POWERS_H_
> - #define DOUBLE_CONVERSION_CACHED_POWERS_H_
> -
> --#include "diy-fp.h"
> -+#include <diy-fp.h>
> -
> - namespace double_conversion {
> -
> -diff --git a/mfbt/double-conversion/diy-fp.cc b/mfbt/double-conversion/diy-fp.cc
> -index ddd1891..f31cf60 100644
> ---- a/mfbt/double-conversion/diy-fp.cc
> -+++ b/mfbt/double-conversion/diy-fp.cc
> -@@ -26,8 +26,8 @@
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> -
> --#include "diy-fp.h"
> --#include "utils.h"
> -+#include <diy-fp.h>
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -diff --git a/mfbt/double-conversion/diy-fp.h b/mfbt/double-conversion/diy-fp.h
> -index 9dcf8fb..80a8c4c 100644
> ---- a/mfbt/double-conversion/diy-fp.h
> -+++ b/mfbt/double-conversion/diy-fp.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_DIY_FP_H_
> - #define DOUBLE_CONVERSION_DIY_FP_H_
> -
> --#include "utils.h"
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -@@ -42,7 +42,7 @@ class DiyFp {
> -   static const int kSignificandSize = 64;
> -
> -   DiyFp() : f_(0), e_(0) {}
> --  DiyFp(uint64_t f, int e) : f_(f), e_(e) {}
> -+  DiyFp(uint64_t significand, int exponent) : f_(significand), e_(exponent) {}
> -
> -   // this = this - other.
> -   // The exponents of both numbers must be the same and the significand of this
> -@@ -76,22 +76,22 @@ class DiyFp {
> -
> -   void Normalize() {
> -     ASSERT(f_ != 0);
> --    uint64_t f = f_;
> --    int e = e_;
> -+    uint64_t significand = f_;
> -+    int exponent = e_;
> -
> -     // This method is mainly called for normalizing boundaries. In general
> -     // boundaries need to be shifted by 10 bits. We thus optimize for this case.
> -     const uint64_t k10MSBits = UINT64_2PART_C(0xFFC00000, 00000000);
> --    while ((f & k10MSBits) == 0) {
> --      f <<= 10;
> --      e -= 10;
> -+    while ((significand & k10MSBits) == 0) {
> -+      significand <<= 10;
> -+      exponent -= 10;
> -     }
> --    while ((f & kUint64MSB) == 0) {
> --      f <<= 1;
> --      e--;
> -+    while ((significand & kUint64MSB) == 0) {
> -+      significand <<= 1;
> -+      exponent--;
> -     }
> --    f_ = f;
> --    e_ = e;
> -+    f_ = significand;
> -+    e_ = exponent;
> -   }
> -
> -   static DiyFp Normalize(const DiyFp& a) {
> -diff --git a/mfbt/double-conversion/double-conversion.cc b/mfbt/double-conversion/double-conversion.cc
> -index 650137b..7819267 100644
> ---- a/mfbt/double-conversion/double-conversion.cc
> -+++ b/mfbt/double-conversion/double-conversion.cc
> -@@ -25,17 +25,18 @@
> - // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> --#include <limits.h>
> --#include <math.h>
> -+#include <climits>
> -+#include <locale>
> -+#include <cmath>
> -
> --#include "double-conversion.h"
> -+#include <double-conversion.h>
> -
> --#include "bignum-dtoa.h"
> --#include "fast-dtoa.h"
> --#include "fixed-dtoa.h"
> --#include "ieee.h"
> --#include "strtod.h"
> --#include "utils.h"
> -+#include <bignum-dtoa.h>
> -+#include <fast-dtoa.h>
> -+#include <fixed-dtoa.h>
> -+#include <ieee.h>
> -+#include <strtod.h>
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -@@ -118,7 +119,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
> -     StringBuilder* result_builder) const {
> -   // Create a representation that is padded with zeros if needed.
> -   if (decimal_point <= 0) {
> --      // "0.00000decimal_rep".
> -+      // "0.00000decimal_rep" or "0.000decimal_rep00".
> -     result_builder->AddCharacter('0');
> -     if (digits_after_point > 0) {
> -       result_builder->AddCharacter('.');
> -@@ -129,7 +130,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
> -       result_builder->AddPadding('0', remaining_digits);
> -     }
> -   } else if (decimal_point >= length) {
> --    // "decimal_rep0000.00000" or "decimal_rep.0000"
> -+    // "decimal_rep0000.00000" or "decimal_rep.0000".
> -     result_builder->AddSubstring(decimal_digits, length);
> -     result_builder->AddPadding('0', decimal_point - length);
> -     if (digits_after_point > 0) {
> -@@ -137,7 +138,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
> -       result_builder->AddPadding('0', digits_after_point);
> -     }
> -   } else {
> --    // "decima.l_rep000"
> -+    // "decima.l_rep000".
> -     ASSERT(digits_after_point > 0);
> -     result_builder->AddSubstring(decimal_digits, decimal_point);
> -     result_builder->AddCharacter('.');
> -@@ -162,7 +163,7 @@ bool DoubleToStringConverter::ToShortestIeeeNumber(
> -     double value,
> -     StringBuilder* result_builder,
> -     DoubleToStringConverter::DtoaMode mode) const {
> --  assert(mode == SHORTEST || mode == SHORTEST_SINGLE);
> -+  ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE);
> -   if (Double(value).IsSpecial()) {
> -     return HandleSpecialValues(value, result_builder);
> -   }
> -@@ -348,7 +349,6 @@ static BignumDtoaMode DtoaToBignumDtoaMode(
> -     case DoubleToStringConverter::PRECISION: return BIGNUM_DTOA_PRECISION;
> -     default:
> -       UNREACHABLE();
> --      return BIGNUM_DTOA_SHORTEST;  // To silence compiler.
> -   }
> - }
> -
> -@@ -403,8 +403,8 @@ void DoubleToStringConverter::DoubleToAscii(double v,
> -                              vector, length, point);
> -       break;
> -     default:
> --      UNREACHABLE();
> -       fast_worked = false;
> -+      UNREACHABLE();
> -   }
> -   if (fast_worked) return;
> -
> -@@ -415,20 +415,55 @@ void DoubleToStringConverter::DoubleToAscii(double v,
> - }
> -
> -
> --// Consumes the given substring from the iterator.
> --// Returns false, if the substring does not match.
> --static bool ConsumeSubString(const char** current,
> --                             const char* end,
> --                             const char* substring) {
> --  ASSERT(**current == *substring);
> -+namespace {
> -+
> -+inline char ToLower(char ch) {
> -+  static const std::ctype<char>& cType =
> -+      std::use_facet<std::ctype<char> >(std::locale::classic());
> -+  return cType.tolower(ch);
> -+}
> -+
> -+inline char Pass(char ch) {
> -+  return ch;
> -+}
> -+
> -+template <class Iterator, class Converter>
> -+static inline bool ConsumeSubStringImpl(Iterator* current,
> -+                                        Iterator end,
> -+                                        const char* substring,
> -+                                        Converter converter) {
> -+  ASSERT(converter(**current) == *substring);
> -   for (substring++; *substring != '\0'; substring++) {
> -     ++*current;
> --    if (*current == end || **current != *substring) return false;
> -+    if (*current == end || converter(**current) != *substring) {
> -+      return false;
> -+    }
> -   }
> -   ++*current;
> -   return true;
> - }
> -
> -+// Consumes the given substring from the iterator.
> -+// Returns false, if the substring does not match.
> -+template <class Iterator>
> -+static bool ConsumeSubString(Iterator* current,
> -+                             Iterator end,
> -+                             const char* substring,
> -+                             bool allow_case_insensibility) {
> -+  if (allow_case_insensibility) {
> -+    return ConsumeSubStringImpl(current, end, substring, ToLower);
> -+  } else {
> -+    return ConsumeSubStringImpl(current, end, substring, Pass);
> -+  }
> -+}
> -+
> -+// Consumes first character of the str is equal to ch
> -+inline bool ConsumeFirstCharacter(char ch,
> -+                                         const char* str,
> -+                                         bool case_insensibility) {
> -+  return case_insensibility ? ToLower(ch) == str[0] : ch == str[0];
> -+}
> -+}  // namespace
> -
> - // Maximum number of significant digits in decimal representation.
> - // The longest possible double in decimal representation is
> -@@ -440,10 +475,36 @@ static bool ConsumeSubString(const char** current,
> - const int kMaxSignificantDigits = 772;
> -
> -
> -+static const char kWhitespaceTable7[] = { 32, 13, 10, 9, 11, 12 };
> -+static const int kWhitespaceTable7Length = ARRAY_SIZE(kWhitespaceTable7);
> -+
> -+
> -+static const uc16 kWhitespaceTable16[] = {
> -+  160, 8232, 8233, 5760, 6158, 8192, 8193, 8194, 8195,
> -+  8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279
> -+};
> -+static const int kWhitespaceTable16Length = ARRAY_SIZE(kWhitespaceTable16);
> -+
> -+
> -+static bool isWhitespace(int x) {
> -+  if (x < 128) {
> -+    for (int i = 0; i < kWhitespaceTable7Length; i++) {
> -+      if (kWhitespaceTable7[i] == x) return true;
> -+    }
> -+  } else {
> -+    for (int i = 0; i < kWhitespaceTable16Length; i++) {
> -+      if (kWhitespaceTable16[i] == x) return true;
> -+    }
> -+  }
> -+  return false;
> -+}
> -+
> -+
> - // Returns true if a nonspace found and false if the end has reached.
> --static inline bool AdvanceToNonspace(const char** current, const char* end) {
> -+template <class Iterator>
> -+static inline bool AdvanceToNonspace(Iterator* current, Iterator end) {
> -   while (*current != end) {
> --    if (**current != ' ') return true;
> -+    if (!isWhitespace(**current)) return true;
> -     ++*current;
> -   }
> -   return false;
> -@@ -462,26 +523,57 @@ static double SignedZero(bool sign) {
> - }
> -
> -
> -+// Returns true if 'c' is a decimal digit that is valid for the given radix.
> -+//
> -+// The function is small and could be inlined, but VS2012 emitted a warning
> -+// because it constant-propagated the radix and concluded that the last
> -+// condition was always true. By moving it into a separate function the
> -+// compiler wouldn't warn anymore.
> -+#if _MSC_VER
> -+#pragma optimize("",off)
> -+static bool IsDecimalDigitForRadix(int c, int radix) {
> -+  return '0' <= c && c <= '9' && (c - '0') < radix;
> -+}
> -+#pragma optimize("",on)
> -+#else
> -+static bool inline IsDecimalDigitForRadix(int c, int radix) {
> -+ return '0' <= c && c <= '9' && (c - '0') < radix;
> -+}
> -+#endif
> -+// Returns true if 'c' is a character digit that is valid for the given radix.
> -+// The 'a_character' should be 'a' or 'A'.
> -+//
> -+// The function is small and could be inlined, but VS2012 emitted a warning
> -+// because it constant-propagated the radix and concluded that the first
> -+// condition was always false. By moving it into a separate function the
> -+// compiler wouldn't warn anymore.
> -+static bool IsCharacterDigitForRadix(int c, int radix, char a_character) {
> -+  return radix > 10 && c >= a_character && c < a_character + radix - 10;
> -+}
> -+
> -+
> - // Parsing integers with radix 2, 4, 8, 16, 32. Assumes current != end.
> --template <int radix_log_2>
> --static double RadixStringToIeee(const char* current,
> --                                const char* end,
> -+template <int radix_log_2, class Iterator>
> -+static double RadixStringToIeee(Iterator* current,
> -+                                Iterator end,
> -                                 bool sign,
> -                                 bool allow_trailing_junk,
> -                                 double junk_string_value,
> -                                 bool read_as_double,
> --                                const char** trailing_pointer) {
> --  ASSERT(current != end);
> -+                                bool* result_is_junk) {
> -+  ASSERT(*current != end);
> -
> -   const int kDoubleSize = Double::kSignificandSize;
> -   const int kSingleSize = Single::kSignificandSize;
> -   const int kSignificandSize = read_as_double? kDoubleSize: kSingleSize;
> -
> -+  *result_is_junk = true;
> -+
> -   // Skip leading 0s.
> --  while (*current == '0') {
> --    ++current;
> --    if (current == end) {
> --      *trailing_pointer = end;
> -+  while (**current == '0') {
> -+    ++(*current);
> -+    if (*current == end) {
> -+      *result_is_junk = false;
> -       return SignedZero(sign);
> -     }
> -   }
> -@@ -492,14 +584,14 @@ static double RadixStringToIeee(const char* current,
> -
> -   do {
> -     int digit;
> --    if (*current >= '0' && *current <= '9' && *current < '0' + radix) {
> --      digit = static_cast<char>(*current) - '0';
> --    } else if (radix > 10 && *current >= 'a' && *current < 'a' + radix - 10) {
> --      digit = static_cast<char>(*current) - 'a' + 10;
> --    } else if (radix > 10 && *current >= 'A' && *current < 'A' + radix - 10) {
> --      digit = static_cast<char>(*current) - 'A' + 10;
> -+    if (IsDecimalDigitForRadix(**current, radix)) {
> -+      digit = static_cast<char>(**current) - '0';
> -+    } else if (IsCharacterDigitForRadix(**current, radix, 'a')) {
> -+      digit = static_cast<char>(**current) - 'a' + 10;
> -+    } else if (IsCharacterDigitForRadix(**current, radix, 'A')) {
> -+      digit = static_cast<char>(**current) - 'A' + 10;
> -     } else {
> --      if (allow_trailing_junk || !AdvanceToNonspace(&current, end)) {
> -+      if (allow_trailing_junk || !AdvanceToNonspace(current, end)) {
> -         break;
> -       } else {
> -         return junk_string_value;
> -@@ -523,14 +615,14 @@ static double RadixStringToIeee(const char* current,
> -       exponent = overflow_bits_count;
> -
> -       bool zero_tail = true;
> --      while (true) {
> --        ++current;
> --        if (current == end || !isDigit(*current, radix)) break;
> --        zero_tail = zero_tail && *current == '0';
> -+      for (;;) {
> -+        ++(*current);
> -+        if (*current == end || !isDigit(**current, radix)) break;
> -+        zero_tail = zero_tail && **current == '0';
> -         exponent += radix_log_2;
> -       }
> -
> --      if (!allow_trailing_junk && AdvanceToNonspace(&current, end)) {
> -+      if (!allow_trailing_junk && AdvanceToNonspace(current, end)) {
> -         return junk_string_value;
> -       }
> -
> -@@ -552,13 +644,13 @@ static double RadixStringToIeee(const char* current,
> -       }
> -       break;
> -     }
> --    ++current;
> --  } while (current != end);
> -+    ++(*current);
> -+  } while (*current != end);
> -
> -   ASSERT(number < ((int64_t)1 << kSignificandSize));
> -   ASSERT(static_cast<int64_t>(static_cast<double>(number)) == number);
> -
> --  *trailing_pointer = current;
> -+  *result_is_junk = false;
> -
> -   if (exponent == 0) {
> -     if (sign) {
> -@@ -572,14 +664,14 @@ static double RadixStringToIeee(const char* current,
> -   return Double(DiyFp(number, exponent)).value();
> - }
> -
> --
> -+template <class Iterator>
> - double StringToDoubleConverter::StringToIeee(
> --    const char* input,
> -+    Iterator input,
> -     int length,
> --    int* processed_characters_count,
> --    bool read_as_double) {
> --  const char* current = input;
> --  const char* end = input + length;
> -+    bool read_as_double,
> -+    int* processed_characters_count) const {
> -+  Iterator current = input;
> -+  Iterator end = input + length;
> -
> -   *processed_characters_count = 0;
> -
> -@@ -587,6 +679,8 @@ double StringToDoubleConverter::StringToIeee(
> -   const bool allow_leading_spaces = (flags_ & ALLOW_LEADING_SPACES) != 0;
> -   const bool allow_trailing_spaces = (flags_ & ALLOW_TRAILING_SPACES) != 0;
> -   const bool allow_spaces_after_sign = (flags_ & ALLOW_SPACES_AFTER_SIGN) != 0;
> -+  const bool allow_case_insensibility = (flags_ & ALLOW_CASE_INSENSIBILITY) != 0;
> -+
> -
> -   // To make sure that iterator dereferencing is valid the following
> -   // convention is used:
> -@@ -600,7 +694,7 @@ double StringToDoubleConverter::StringToIeee(
> -
> -   if (allow_leading_spaces || allow_trailing_spaces) {
> -     if (!AdvanceToNonspace(&current, end)) {
> --      *processed_characters_count = current - input;
> -+      *processed_characters_count = static_cast<int>(current - input);
> -       return empty_string_value_;
> -     }
> -     if (!allow_leading_spaces && (input != current)) {
> -@@ -626,7 +720,7 @@ double StringToDoubleConverter::StringToIeee(
> -   if (*current == '+' || *current == '-') {
> -     sign = (*current == '-');
> -     ++current;
> --    const char* next_non_space = current;
> -+    Iterator next_non_space = current;
> -     // Skip following spaces (if allowed).
> -     if (!AdvanceToNonspace(&next_non_space, end)) return junk_string_value_;
> -     if (!allow_spaces_after_sign && (current != next_non_space)) {
> -@@ -636,8 +730,8 @@ double StringToDoubleConverter::StringToIeee(
> -   }
> -
> -   if (infinity_symbol_ != NULL) {
> --    if (*current == infinity_symbol_[0]) {
> --      if (!ConsumeSubString(&current, end, infinity_symbol_)) {
> -+    if (ConsumeFirstCharacter(*current, infinity_symbol_, allow_case_insensibility)) {
> -+      if (!ConsumeSubString(&current, end, infinity_symbol_, allow_case_insensibility)) {
> -         return junk_string_value_;
> -       }
> -
> -@@ -649,14 +743,14 @@ double StringToDoubleConverter::StringToIeee(
> -       }
> -
> -       ASSERT(buffer_pos == 0);
> --      *processed_characters_count = current - input;
> -+      *processed_characters_count = static_cast<int>(current - input);
> -       return sign ? -Double::Infinity() : Double::Infinity();
> -     }
> -   }
> -
> -   if (nan_symbol_ != NULL) {
> --    if (*current == nan_symbol_[0]) {
> --      if (!ConsumeSubString(&current, end, nan_symbol_)) {
> -+    if (ConsumeFirstCharacter(*current, nan_symbol_, allow_case_insensibility)) {
> -+      if (!ConsumeSubString(&current, end, nan_symbol_, allow_case_insensibility)) {
> -         return junk_string_value_;
> -       }
> -
> -@@ -668,7 +762,7 @@ double StringToDoubleConverter::StringToIeee(
> -       }
> -
> -       ASSERT(buffer_pos == 0);
> --      *processed_characters_count = current - input;
> -+      *processed_characters_count = static_cast<int>(current - input);
> -       return sign ? -Double::NaN() : Double::NaN();
> -     }
> -   }
> -@@ -677,7 +771,7 @@ double StringToDoubleConverter::StringToIeee(
> -   if (*current == '0') {
> -     ++current;
> -     if (current == end) {
> --      *processed_characters_count = current - input;
> -+      *processed_characters_count = static_cast<int>(current - input);
> -       return SignedZero(sign);
> -     }
> -
> -@@ -690,17 +784,17 @@ double StringToDoubleConverter::StringToIeee(
> -         return junk_string_value_;  // "0x".
> -       }
> -
> --      const char* tail_pointer = NULL;
> --      double result = RadixStringToIeee<4>(current,
> -+      bool result_is_junk;
> -+      double result = RadixStringToIeee<4>(&current,
> -                                            end,
> -                                            sign,
> -                                            allow_trailing_junk,
> -                                            junk_string_value_,
> -                                            read_as_double,
> --                                           &tail_pointer);
> --      if (tail_pointer != NULL) {
> --        if (allow_trailing_spaces) AdvanceToNonspace(&tail_pointer, end);
> --        *processed_characters_count = tail_pointer - input;
> -+                                           &result_is_junk);
> -+      if (!result_is_junk) {
> -+        if (allow_trailing_spaces) AdvanceToNonspace(&current, end);
> -+        *processed_characters_count = static_cast<int>(current - input);
> -       }
> -       return result;
> -     }
> -@@ -709,7 +803,7 @@ double StringToDoubleConverter::StringToIeee(
> -     while (*current == '0') {
> -       ++current;
> -       if (current == end) {
> --        *processed_characters_count = current - input;
> -+        *processed_characters_count = static_cast<int>(current - input);
> -         return SignedZero(sign);
> -       }
> -     }
> -@@ -757,7 +851,7 @@ double StringToDoubleConverter::StringToIeee(
> -       while (*current == '0') {
> -         ++current;
> -         if (current == end) {
> --          *processed_characters_count = current - input;
> -+          *processed_characters_count = static_cast<int>(current - input);
> -           return SignedZero(sign);
> -         }
> -         exponent--;  // Move this 0 into the exponent.
> -@@ -793,20 +887,23 @@ double StringToDoubleConverter::StringToIeee(
> -   if (*current == 'e' || *current == 'E') {
> -     if (octal && !allow_trailing_junk) return junk_string_value_;
> -     if (octal) goto parsing_done;
> -+    Iterator junk_begin = current;
> -     ++current;
> -     if (current == end) {
> -       if (allow_trailing_junk) {
> -+        current = junk_begin;
> -         goto parsing_done;
> -       } else {
> -         return junk_string_value_;
> -       }
> -     }
> --    char sign = '+';
> -+    char exponen_sign = '+';
> -     if (*current == '+' || *current == '-') {
> --      sign = static_cast<char>(*current);
> -+      exponen_sign = static_cast<char>(*current);
> -       ++current;
> -       if (current == end) {
> -         if (allow_trailing_junk) {
> -+          current = junk_begin;
> -           goto parsing_done;
> -         } else {
> -           return junk_string_value_;
> -@@ -816,6 +913,7 @@ double StringToDoubleConverter::StringToIeee(
> -
> -     if (current == end || *current < '0' || *current > '9') {
> -       if (allow_trailing_junk) {
> -+        current = junk_begin;
> -         goto parsing_done;
> -       } else {
> -         return junk_string_value_;
> -@@ -837,7 +935,7 @@ double StringToDoubleConverter::StringToIeee(
> -       ++current;
> -     } while (current != end && *current >= '0' && *current <= '9');
> -
> --    exponent += (sign == '-' ? -num : num);
> -+    exponent += (exponen_sign == '-' ? -num : num);
> -   }
> -
> -   if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
> -@@ -855,16 +953,17 @@ double StringToDoubleConverter::StringToIeee(
> -
> -   if (octal) {
> -     double result;
> --    const char* tail_pointer = NULL;
> --    result = RadixStringToIeee<3>(buffer,
> -+    bool result_is_junk;
> -+    char* start = buffer;
> -+    result = RadixStringToIeee<3>(&start,
> -                                   buffer + buffer_pos,
> -                                   sign,
> -                                   allow_trailing_junk,
> -                                   junk_string_value_,
> -                                   read_as_double,
> --                                  &tail_pointer);
> --    ASSERT(tail_pointer != NULL);
> --    *processed_characters_count = current - input;
> -+                                  &result_is_junk);
> -+    ASSERT(!result_is_junk);
> -+    *processed_characters_count = static_cast<int>(current - input);
> -     return result;
> -   }
> -
> -@@ -882,8 +981,42 @@ double StringToDoubleConverter::StringToIeee(
> -   } else {
> -     converted = Strtof(Vector<const char>(buffer, buffer_pos), exponent);
> -   }
> --  *processed_characters_count = current - input;
> -+  *processed_characters_count = static_cast<int>(current - input);
> -   return sign? -converted: converted;
> - }
> -
> -+
> -+double StringToDoubleConverter::StringToDouble(
> -+    const char* buffer,
> -+    int length,
> -+    int* processed_characters_count) const {
> -+  return StringToIeee(buffer, length, true, processed_characters_count);
> -+}
> -+
> -+
> -+double StringToDoubleConverter::StringToDouble(
> -+    const uc16* buffer,
> -+    int length,
> -+    int* processed_characters_count) const {
> -+  return StringToIeee(buffer, length, true, processed_characters_count);
> -+}
> -+
> -+
> -+float StringToDoubleConverter::StringToFloat(
> -+    const char* buffer,
> -+    int length,
> -+    int* processed_characters_count) const {
> -+  return static_cast<float>(StringToIeee(buffer, length, false,
> -+                                         processed_characters_count));
> -+}
> -+
> -+
> -+float StringToDoubleConverter::StringToFloat(
> -+    const uc16* buffer,
> -+    int length,
> -+    int* processed_characters_count) const {
> -+  return static_cast<float>(StringToIeee(buffer, length, false,
> -+                                         processed_characters_count));
> -+}
> -+
> - }  // namespace double_conversion
> -diff --git a/mfbt/double-conversion/double-conversion.h b/mfbt/double-conversion/double-conversion.h
> -index 0e7226d..e66a566 100644
> ---- a/mfbt/double-conversion/double-conversion.h
> -+++ b/mfbt/double-conversion/double-conversion.h
> -@@ -28,8 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
> - #define DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
> -
> --#include "mozilla/Types.h"
> --#include "utils.h"
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -@@ -130,7 +129,7 @@ class DoubleToStringConverter {
> -   }
> -
> -   // Returns a converter following the EcmaScript specification.
> --  static MFBT_API(const DoubleToStringConverter&) EcmaScriptConverter();
> -+  static const DoubleToStringConverter& EcmaScriptConverter();
> -
> -   // Computes the shortest string of digits that correctly represent the input
> -   // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high
> -@@ -198,7 +197,7 @@ class DoubleToStringConverter {
> -   // The last two conditions imply that the result will never contain more than
> -   // 1 + kMaxFixedDigitsBeforePoint + 1 + kMaxFixedDigitsAfterPoint characters
> -   // (one additional character for the sign, and one for the decimal point).
> --  MFBT_API(bool) ToFixed(double value,
> -+  bool ToFixed(double value,
> -                int requested_digits,
> -                StringBuilder* result_builder) const;
> -
> -@@ -230,7 +229,7 @@ class DoubleToStringConverter {
> -   // kMaxExponentialDigits + 8 characters (the sign, the digit before the
> -   // decimal point, the decimal point, the exponent character, the
> -   // exponent's sign, and at most 3 exponent digits).
> --  MFBT_API(bool) ToExponential(double value,
> -+  bool ToExponential(double value,
> -                      int requested_digits,
> -                      StringBuilder* result_builder) const;
> -
> -@@ -268,7 +267,7 @@ class DoubleToStringConverter {
> -   // The last condition implies that the result will never contain more than
> -   // kMaxPrecisionDigits + 7 characters (the sign, the decimal point, the
> -   // exponent character, the exponent's sign, and at most 3 exponent digits).
> --  MFBT_API(bool) ToPrecision(double value,
> -+  bool ToPrecision(double value,
> -                    int precision,
> -                    StringBuilder* result_builder) const;
> -
> -@@ -293,15 +292,20 @@ class DoubleToStringConverter {
> -   // kBase10MaximalLength.
> -   // Note that DoubleToAscii null-terminates its input. So the given buffer
> -   // should be at least kBase10MaximalLength + 1 characters long.
> --  static const MFBT_DATA(int) kBase10MaximalLength = 17;
> -+  static const int kBase10MaximalLength = 17;
> -
> --  // Converts the given double 'v' to ascii. 'v' must not be NaN, +Infinity, or
> --  // -Infinity. In SHORTEST_SINGLE-mode this restriction also applies to 'v'
> --  // after it has been casted to a single-precision float. That is, in this
> --  // mode static_cast<float>(v) must not be NaN, +Infinity or -Infinity.
> -+  // Converts the given double 'v' to digit characters. 'v' must not be NaN,
> -+  // +Infinity, or -Infinity. In SHORTEST_SINGLE-mode this restriction also
> -+  // applies to 'v' after it has been casted to a single-precision float. That
> -+  // is, in this mode static_cast<float>(v) must not be NaN, +Infinity or
> -+  // -Infinity.
> -   //
> -   // The result should be interpreted as buffer * 10^(point-length).
> -   //
> -+  // The digits are written to the buffer in the platform's charset, which is
> -+  // often UTF-8 (with ASCII-range digits) but may be another charset, such
> -+  // as EBCDIC.
> -+  //
> -   // The output depends on the given mode:
> -   //  - SHORTEST: produce the least amount of digits for which the internal
> -   //   identity requirement is still satisfied. If the digits are printed
> -@@ -333,7 +337,7 @@ class DoubleToStringConverter {
> -   // terminating null-character when computing the maximal output size.
> -   // The given length is only used in debug mode to ensure the buffer is big
> -   // enough.
> --  static MFBT_API(void) DoubleToAscii(double v,
> -+  static void DoubleToAscii(double v,
> -                             DtoaMode mode,
> -                             int requested_digits,
> -                             char* buffer,
> -@@ -344,7 +348,7 @@ class DoubleToStringConverter {
> -
> -  private:
> -   // Implementation for ToShortest and ToShortestSingle.
> --  MFBT_API(bool) ToShortestIeeeNumber(double value,
> -+  bool ToShortestIeeeNumber(double value,
> -                             StringBuilder* result_builder,
> -                             DtoaMode mode) const;
> -
> -@@ -352,15 +356,15 @@ class DoubleToStringConverter {
> -   // corresponding string using the configured infinity/nan-symbol.
> -   // If either of them is NULL or the value is not special then the
> -   // function returns false.
> --  MFBT_API(bool) HandleSpecialValues(double value, StringBuilder* result_builder) const;
> -+  bool HandleSpecialValues(double value, StringBuilder* result_builder) const;
> -   // Constructs an exponential representation (i.e. 1.234e56).
> -   // The given exponent assumes a decimal point after the first decimal digit.
> --  MFBT_API(void) CreateExponentialRepresentation(const char* decimal_digits,
> -+  void CreateExponentialRepresentation(const char* decimal_digits,
> -                                        int length,
> -                                        int exponent,
> -                                        StringBuilder* result_builder) const;
> -   // Creates a decimal representation (i.e 1234.5678).
> --  MFBT_API(void) CreateDecimalRepresentation(const char* decimal_digits,
> -+  void CreateDecimalRepresentation(const char* decimal_digits,
> -                                    int length,
> -                                    int decimal_point,
> -                                    int digits_after_point,
> -@@ -375,7 +379,7 @@ class DoubleToStringConverter {
> -   const int max_leading_padding_zeroes_in_precision_mode_;
> -   const int max_trailing_padding_zeroes_in_precision_mode_;
> -
> --  DISALLOW_IMPLICIT_CONSTRUCTORS(DoubleToStringConverter);
> -+  DC_DISALLOW_IMPLICIT_CONSTRUCTORS(DoubleToStringConverter);
> - };
> -
> -
> -@@ -390,7 +394,8 @@ class StringToDoubleConverter {
> -     ALLOW_TRAILING_JUNK = 4,
> -     ALLOW_LEADING_SPACES = 8,
> -     ALLOW_TRAILING_SPACES = 16,
> --    ALLOW_SPACES_AFTER_SIGN = 32
> -+    ALLOW_SPACES_AFTER_SIGN = 32,
> -+    ALLOW_CASE_INSENSIBILITY = 64,
> -   };
> -
> -   // Flags should be a bit-or combination of the possible Flags-enum.
> -@@ -416,11 +421,14 @@ class StringToDoubleConverter {
> -   //          junk, too.
> -   //  - ALLOW_TRAILING_JUNK: ignore trailing characters that are not part of
> -   //      a double literal.
> --  //  - ALLOW_LEADING_SPACES: skip over leading spaces.
> --  //  - ALLOW_TRAILING_SPACES: ignore trailing spaces.
> --  //  - ALLOW_SPACES_AFTER_SIGN: ignore spaces after the sign.
> -+  //  - ALLOW_LEADING_SPACES: skip over leading whitespace, including spaces,
> -+  //                          new-lines, and tabs.
> -+  //  - ALLOW_TRAILING_SPACES: ignore trailing whitespace.
> -+  //  - ALLOW_SPACES_AFTER_SIGN: ignore whitespace after the sign.
> -   //       Ex: StringToDouble("-   123.2") -> -123.2.
> -   //           StringToDouble("+   123.2") -> 123.2
> -+  //  - ALLOW_CASE_INSENSIBILITY: ignore case of characters for special values:
> -+  //      infinity and nan.
> -   //
> -   // empty_string_value is returned when an empty string is given as input.
> -   // If ALLOW_LEADING_SPACES or ALLOW_TRAILING_SPACES are set, then a string
> -@@ -503,19 +511,24 @@ class StringToDoubleConverter {
> -   // in the 'processed_characters_count'. Trailing junk is never included.
> -   double StringToDouble(const char* buffer,
> -                         int length,
> --                        int* processed_characters_count) {
> --    return StringToIeee(buffer, length, processed_characters_count, true);
> --  }
> -+                        int* processed_characters_count) const;
> -+
> -+  // Same as StringToDouble above but for 16 bit characters.
> -+  double StringToDouble(const uc16* buffer,
> -+                        int length,
> -+                        int* processed_characters_count) const;
> -
> -   // Same as StringToDouble but reads a float.
> -   // Note that this is not equivalent to static_cast<float>(StringToDouble(...))
> -   // due to potential double-rounding.
> -   float StringToFloat(const char* buffer,
> -                       int length,
> --                      int* processed_characters_count) {
> --    return static_cast<float>(StringToIeee(buffer, length,
> --                                           processed_characters_count, false));
> --  }
> -+                      int* processed_characters_count) const;
> -+
> -+  // Same as StringToFloat above but for 16 bit characters.
> -+  float StringToFloat(const uc16* buffer,
> -+                      int length,
> -+                      int* processed_characters_count) const;
> -
> -  private:
> -   const int flags_;
> -@@ -524,12 +537,13 @@ class StringToDoubleConverter {
> -   const char* const infinity_symbol_;
> -   const char* const nan_symbol_;
> -
> --  double StringToIeee(const char* buffer,
> -+  template <class Iterator>
> -+  double StringToIeee(Iterator start_pointer,
> -                       int length,
> --                      int* processed_characters_count,
> --                      bool read_as_double);
> -+                      bool read_as_double,
> -+                      int* processed_characters_count) const;
> -
> --  DISALLOW_IMPLICIT_CONSTRUCTORS(StringToDoubleConverter);
> -+  DC_DISALLOW_IMPLICIT_CONSTRUCTORS(StringToDoubleConverter);
> - };
> -
> - }  // namespace double_conversion
> -diff --git a/mfbt/double-conversion/fast-dtoa.cc b/mfbt/double-conversion/fast-dtoa.cc
> -index 0609422..d338216 100644
> ---- a/mfbt/double-conversion/fast-dtoa.cc
> -+++ b/mfbt/double-conversion/fast-dtoa.cc
> -@@ -25,11 +25,11 @@
> - // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> --#include "fast-dtoa.h"
> -+#include <fast-dtoa.h>
> -
> --#include "cached-powers.h"
> --#include "diy-fp.h"
> --#include "ieee.h"
> -+#include <cached-powers.h>
> -+#include <diy-fp.h>
> -+#include <ieee.h>
> -
> - namespace double_conversion {
> -
> -@@ -248,10 +248,7 @@ static void BiggestPowerTen(uint32_t number,
> -   // Note: kPowersOf10[i] == 10^(i-1).
> -   exponent_plus_one_guess++;
> -   // We don't have any guarantees that 2^number_bits <= number.
> --  // TODO(floitsch): can we change the 'while' into an 'if'? We definitely see
> --  // number < (2^number_bits - 1), but I haven't encountered
> --  // number < (2^number_bits - 2) yet.
> --  while (number < kSmallPowersOfTen[exponent_plus_one_guess]) {
> -+  if (number < kSmallPowersOfTen[exponent_plus_one_guess]) {
> -     exponent_plus_one_guess--;
> -   }
> -   *power = kSmallPowersOfTen[exponent_plus_one_guess];
> -@@ -350,7 +347,8 @@ static bool DigitGen(DiyFp low,
> -   // that is smaller than integrals.
> -   while (*kappa > 0) {
> -     int digit = integrals / divisor;
> --    buffer[*length] = '0' + digit;
> -+    ASSERT(digit <= 9);
> -+    buffer[*length] = static_cast<char>('0' + digit);
> -     (*length)++;
> -     integrals %= divisor;
> -     (*kappa)--;
> -@@ -379,13 +377,14 @@ static bool DigitGen(DiyFp low,
> -   ASSERT(one.e() >= -60);
> -   ASSERT(fractionals < one.f());
> -   ASSERT(UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f());
> --  while (true) {
> -+  for (;;) {
> -     fractionals *= 10;
> -     unit *= 10;
> -     unsafe_interval.set_f(unsafe_interval.f() * 10);
> -     // Integer division by one.
> -     int digit = static_cast<int>(fractionals >> -one.e());
> --    buffer[*length] = '0' + digit;
> -+    ASSERT(digit <= 9);
> -+    buffer[*length] = static_cast<char>('0' + digit);
> -     (*length)++;
> -     fractionals &= one.f() - 1;  // Modulo by one.
> -     (*kappa)--;
> -@@ -459,7 +458,8 @@ static bool DigitGenCounted(DiyFp w,
> -   // that is smaller than 'integrals'.
> -   while (*kappa > 0) {
> -     int digit = integrals / divisor;
> --    buffer[*length] = '0' + digit;
> -+    ASSERT(digit <= 9);
> -+    buffer[*length] = static_cast<char>('0' + digit);
> -     (*length)++;
> -     requested_digits--;
> -     integrals %= divisor;
> -@@ -492,7 +492,8 @@ static bool DigitGenCounted(DiyFp w,
> -     w_error *= 10;
> -     // Integer division by one.
> -     int digit = static_cast<int>(fractionals >> -one.e());
> --    buffer[*length] = '0' + digit;
> -+    ASSERT(digit <= 9);
> -+    buffer[*length] = static_cast<char>('0' + digit);
> -     (*length)++;
> -     requested_digits--;
> -     fractionals &= one.f() - 1;  // Modulo by one.
> -@@ -529,7 +530,7 @@ static bool Grisu3(double v,
> -   if (mode == FAST_DTOA_SHORTEST) {
> -     Double(v).NormalizedBoundaries(&boundary_minus, &boundary_plus);
> -   } else {
> --    assert(mode == FAST_DTOA_SHORTEST_SINGLE);
> -+    ASSERT(mode == FAST_DTOA_SHORTEST_SINGLE);
> -     float single_v = static_cast<float>(v);
> -     Single(single_v).NormalizedBoundaries(&boundary_minus, &boundary_plus);
> -   }
> -diff --git a/mfbt/double-conversion/fast-dtoa.h b/mfbt/double-conversion/fast-dtoa.h
> -index 5f1e8ee..9c4da92 100644
> ---- a/mfbt/double-conversion/fast-dtoa.h
> -+++ b/mfbt/double-conversion/fast-dtoa.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_FAST_DTOA_H_
> - #define DOUBLE_CONVERSION_FAST_DTOA_H_
> -
> --#include "utils.h"
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -diff --git a/mfbt/double-conversion/fixed-dtoa.cc b/mfbt/double-conversion/fixed-dtoa.cc
> -index d56b144..fa23529 100644
> ---- a/mfbt/double-conversion/fixed-dtoa.cc
> -+++ b/mfbt/double-conversion/fixed-dtoa.cc
> -@@ -25,10 +25,10 @@
> - // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> --#include <math.h>
> -+#include <cmath>
> -
> --#include "fixed-dtoa.h"
> --#include "ieee.h"
> -+#include <fixed-dtoa.h>
> -+#include <ieee.h>
> -
> - namespace double_conversion {
> -
> -@@ -98,7 +98,7 @@ class UInt128 {
> -     return high_bits_ == 0 && low_bits_ == 0;
> -   }
> -
> --  int BitAt(int position) {
> -+  int BitAt(int position) const {
> -     if (position >= 64) {
> -       return static_cast<int>(high_bits_ >> (position - 64)) & 1;
> -     } else {
> -@@ -133,7 +133,7 @@ static void FillDigits32(uint32_t number, Vector<char> buffer, int* length) {
> -   while (number != 0) {
> -     int digit = number % 10;
> -     number /= 10;
> --    buffer[(*length) + number_length] = '0' + digit;
> -+    buffer[(*length) + number_length] = static_cast<char>('0' + digit);
> -     number_length++;
> -   }
> -   // Exchange the digits.
> -@@ -150,7 +150,7 @@ static void FillDigits32(uint32_t number, Vector<char> buffer, int* length) {
> - }
> -
> -
> --static void FillDigits64FixedLength(uint64_t number, int requested_length,
> -+static void FillDigits64FixedLength(uint64_t number,
> -                                     Vector<char> buffer, int* length) {
> -   const uint32_t kTen7 = 10000000;
> -   // For efficiency cut the number into 3 uint32_t parts, and print those.
> -@@ -253,12 +253,14 @@ static void FillFractionals(uint64_t fractionals, int exponent,
> -       fractionals *= 5;
> -       point--;
> -       int digit = static_cast<int>(fractionals >> point);
> --      buffer[*length] = '0' + digit;
> -+      ASSERT(digit <= 9);
> -+      buffer[*length] = static_cast<char>('0' + digit);
> -       (*length)++;
> -       fractionals -= static_cast<uint64_t>(digit) << point;
> -     }
> -     // If the first bit after the point is set we have to round up.
> --    if (((fractionals >> (point - 1)) & 1) == 1) {
> -+    ASSERT(fractionals == 0 || point - 1 >= 0);
> -+    if ((fractionals != 0) && ((fractionals >> (point - 1)) & 1) == 1) {
> -       RoundUp(buffer, length, decimal_point);
> -     }
> -   } else {  // We need 128 bits.
> -@@ -274,7 +276,8 @@ static void FillFractionals(uint64_t fractionals, int exponent,
> -       fractionals128.Multiply(5);
> -       point--;
> -       int digit = fractionals128.DivModPowerOf2(point);
> --      buffer[*length] = '0' + digit;
> -+      ASSERT(digit <= 9);
> -+      buffer[*length] = static_cast<char>('0' + digit);
> -       (*length)++;
> -     }
> -     if (fractionals128.BitAt(point - 1) == 1) {
> -@@ -358,7 +361,7 @@ bool FastFixedDtoa(double v,
> -       remainder = (dividend % divisor) << exponent;
> -     }
> -     FillDigits32(quotient, buffer, length);
> --    FillDigits64FixedLength(remainder, divisor_power, buffer, length);
> -+    FillDigits64FixedLength(remainder, buffer, length);
> -     *decimal_point = *length;
> -   } else if (exponent >= 0) {
> -     // 0 <= exponent <= 11
> -diff --git a/mfbt/double-conversion/fixed-dtoa.h b/mfbt/double-conversion/fixed-dtoa.h
> -index 3bdd08e..19fd2e7 100644
> ---- a/mfbt/double-conversion/fixed-dtoa.h
> -+++ b/mfbt/double-conversion/fixed-dtoa.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_FIXED_DTOA_H_
> - #define DOUBLE_CONVERSION_FIXED_DTOA_H_
> -
> --#include "utils.h"
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -diff --git a/mfbt/double-conversion/ieee.h b/mfbt/double-conversion/ieee.h
> -index 839dc47..8949b02 100644
> ---- a/mfbt/double-conversion/ieee.h
> -+++ b/mfbt/double-conversion/ieee.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_DOUBLE_H_
> - #define DOUBLE_CONVERSION_DOUBLE_H_
> -
> --#include "diy-fp.h"
> -+#include <diy-fp.h>
> -
> - namespace double_conversion {
> -
> -@@ -99,7 +99,7 @@ class Double {
> -   }
> -
> -   double PreviousDouble() const {
> --    if (d64_ == (kInfinity | kSignMask)) return -Double::Infinity();
> -+    if (d64_ == (kInfinity | kSignMask)) return -Infinity();
> -     if (Sign() < 0) {
> -       return Double(d64_ + 1).value();
> -     } else {
> -@@ -256,6 +256,8 @@ class Double {
> -     return (significand & kSignificandMask) |
> -         (biased_exponent << kPhysicalSignificandSize);
> -   }
> -+
> -+  DC_DISALLOW_COPY_AND_ASSIGN(Double);
> - };
> -
> - class Single {
> -@@ -391,6 +393,8 @@ class Single {
> -   static const uint32_t kNaN = 0x7FC00000;
> -
> -   const uint32_t d32_;
> -+
> -+  DC_DISALLOW_COPY_AND_ASSIGN(Single);
> - };
> -
> - }  // namespace double_conversion
> -diff --git a/mfbt/double-conversion/strtod.cc b/mfbt/double-conversion/strtod.cc
> -index d773f44..a9e85c1 100644
> ---- a/mfbt/double-conversion/strtod.cc
> -+++ b/mfbt/double-conversion/strtod.cc
> -@@ -25,13 +25,13 @@
> - // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> --#include <stdarg.h>
> --#include <limits.h>
> -+#include <climits>
> -+#include <cstdarg>
> -
> --#include "strtod.h"
> --#include "bignum.h"
> --#include "cached-powers.h"
> --#include "ieee.h"
> -+#include <bignum.h>
> -+#include <cached-powers.h>
> -+#include <ieee.h>
> -+#include <strtod.h>
> -
> - namespace double_conversion {
> -
> -@@ -137,6 +137,7 @@ static void TrimAndCut(Vector<const char> buffer, int exponent,
> -   Vector<const char> right_trimmed = TrimTrailingZeros(left_trimmed);
> -   exponent += left_trimmed.length() - right_trimmed.length();
> -   if (right_trimmed.length() > kMaxSignificantDecimalDigits) {
> -+    (void) space_size;  // Mark variable as used.
> -     ASSERT(space_size >= kMaxSignificantDecimalDigits);
> -     CutToMaxSignificantDigits(right_trimmed, exponent,
> -                               buffer_copy_space, updated_exponent);
> -@@ -204,7 +205,7 @@ static bool DoubleStrtod(Vector<const char> trimmed,
> -   // Note that the ARM simulator is compiled for 32bits. It therefore exhibits
> -   // the same problem.
> -   return false;
> --#endif
> -+#else
> -   if (trimmed.length() <= kMaxExactDoubleIntegerDecimalDigits) {
> -     int read_digits;
> -     // The trimmed input fits into a double.
> -@@ -242,6 +243,7 @@ static bool DoubleStrtod(Vector<const char> trimmed,
> -     }
> -   }
> -   return false;
> -+#endif
> - }
> -
> -
> -@@ -263,7 +265,6 @@ static DiyFp AdjustmentPowerOfTen(int exponent) {
> -     case 7: return DiyFp(UINT64_2PART_C(0x98968000, 00000000), -40);
> -     default:
> -       UNREACHABLE();
> --      return DiyFp(0, 0);
> -   }
> - }
> -
> -@@ -286,7 +287,7 @@ static bool DiyFpStrtod(Vector<const char> buffer,
> -   const int kDenominator = 1 << kDenominatorLog;
> -   // Move the remaining decimals into the exponent.
> -   exponent += remaining_decimals;
> --  int error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
> -+  uint64_t error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
> -
> -   int old_e = input.e();
> -   input.Normalize();
> -@@ -471,6 +472,30 @@ double Strtod(Vector<const char> buffer, int exponent) {
> -   }
> - }
> -
> -+static float SanitizedDoubletof(double d) {
> -+  ASSERT(d >= 0.0);
> -+  // ASAN has a sanitize check that disallows casting doubles to floats if
> -+  // they are too big.
> -+  // https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#available-checks
> -+  // The behavior should be covered by IEEE 754, but some projects use this
> -+  // flag, so work around it.
> -+  float max_finite = 3.4028234663852885981170418348451692544e+38;
> -+  // The half-way point between the max-finite and infinity value.
> -+  // Since infinity has an even significand everything equal or greater than
> -+  // this value should become infinity.
> -+  double half_max_finite_infinity =
> -+      3.40282356779733661637539395458142568448e+38;
> -+  if (d >= max_finite) {
> -+    if (d >= half_max_finite_infinity) {
> -+      return Single::Infinity();
> -+    } else {
> -+      return max_finite;
> -+    }
> -+  } else {
> -+    return static_cast<float>(d);
> -+  }
> -+}
> -+
> - float Strtof(Vector<const char> buffer, int exponent) {
> -   char copy_buffer[kMaxSignificantDecimalDigits];
> -   Vector<const char> trimmed;
> -@@ -482,7 +507,7 @@ float Strtof(Vector<const char> buffer, int exponent) {
> -   double double_guess;
> -   bool is_correct = ComputeGuess(trimmed, exponent, &double_guess);
> -
> --  float float_guess = static_cast<float>(double_guess);
> -+  float float_guess = SanitizedDoubletof(double_guess);
> -   if (float_guess == double_guess) {
> -     // This shortcut triggers for integer values.
> -     return float_guess;
> -@@ -505,18 +530,18 @@ float Strtof(Vector<const char> buffer, int exponent) {
> -   double double_next = Double(double_guess).NextDouble();
> -   double double_previous = Double(double_guess).PreviousDouble();
> -
> --  float f1 = static_cast<float>(double_previous);
> -+  float f1 = SanitizedDoubletof(double_previous);
> -   float f2 = float_guess;
> --  float f3 = static_cast<float>(double_next);
> -+  float f3 = SanitizedDoubletof(double_next);
> -   float f4;
> -   if (is_correct) {
> -     f4 = f3;
> -   } else {
> -     double double_next2 = Double(double_next).NextDouble();
> --    f4 = static_cast<float>(double_next2);
> -+    f4 = SanitizedDoubletof(double_next2);
> -   }
> --  (void)f2;
> --  assert(f1 <= f2 && f2 <= f3 && f3 <= f4);
> -+  (void) f2;  // Mark variable as used.
> -+  ASSERT(f1 <= f2 && f2 <= f3 && f3 <= f4);
> -
> -   // If the guess doesn't lie near a single-precision boundary we can simply
> -   // return its float-value.
> -@@ -524,11 +549,11 @@ float Strtof(Vector<const char> buffer, int exponent) {
> -     return float_guess;
> -   }
> -
> --  assert((f1 != f2 && f2 == f3 && f3 == f4) ||
> -+  ASSERT((f1 != f2 && f2 == f3 && f3 == f4) ||
> -          (f1 == f2 && f2 != f3 && f3 == f4) ||
> -          (f1 == f2 && f2 == f3 && f3 != f4));
> -
> --  // guess and next are the two possible canditates (in the same way that
> -+  // guess and next are the two possible candidates (in the same way that
> -   // double_guess was the lower candidate for a double-precision guess).
> -   float guess = f1;
> -   float next = f4;
> -diff --git a/mfbt/double-conversion/strtod.h b/mfbt/double-conversion/strtod.h
> -index ed0293b..58c4926 100644
> ---- a/mfbt/double-conversion/strtod.h
> -+++ b/mfbt/double-conversion/strtod.h
> -@@ -28,7 +28,7 @@
> - #ifndef DOUBLE_CONVERSION_STRTOD_H_
> - #define DOUBLE_CONVERSION_STRTOD_H_
> -
> --#include "utils.h"
> -+#include <utils.h>
> -
> - namespace double_conversion {
> -
> -diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
> -index 0eec2d9..a748654 100644
> ---- a/mfbt/double-conversion/utils.h
> -+++ b/mfbt/double-conversion/utils.h
> -@@ -28,19 +28,34 @@
> - #ifndef DOUBLE_CONVERSION_UTILS_H_
> - #define DOUBLE_CONVERSION_UTILS_H_
> -
> --#include <stdlib.h>
> --#include <string.h>
> -+#include <cstdlib>
> -+#include <cstring>
> -
> --#include <assert.h>
> -+#include <cassert>
> - #ifndef ASSERT
> --#define ASSERT(condition)      (assert(condition))
> -+#define ASSERT(condition)         \
> -+    assert(condition);
> - #endif
> - #ifndef UNIMPLEMENTED
> - #define UNIMPLEMENTED() (abort())
> - #endif
> -+#ifndef DOUBLE_CONVERSION_NO_RETURN
> -+#ifdef _MSC_VER
> -+#define DOUBLE_CONVERSION_NO_RETURN __declspec(noreturn)
> -+#else
> -+#define DOUBLE_CONVERSION_NO_RETURN __attribute__((noreturn))
> -+#endif
> -+#endif
> - #ifndef UNREACHABLE
> -+#ifdef _MSC_VER
> -+void DOUBLE_CONVERSION_NO_RETURN abort_noreturn();
> -+inline void abort_noreturn() { abort(); }
> -+#define UNREACHABLE()   (abort_noreturn())
> -+#else
> - #define UNREACHABLE()   (abort())
> - #endif
> -+#endif
> -+
> -
> - // Double operations detection based on target architecture.
> - // Linux uses a 80bit wide floating point stack on x86. This induces double
> -@@ -55,11 +70,18 @@
> - #if defined(_M_X64) || defined(__x86_64__) || \
> -     defined(__ARMEL__) || defined(__avr32__) || \
> -     defined(__hppa__) || defined(__ia64__) || \
> --    defined(__mips__) || defined(__powerpc__) || \
> -+    defined(__mips__) || \
> -+    defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
> -+    defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
> -     defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
> -     defined(__SH4__) || defined(__alpha__) || \
> --    defined(_MIPS_ARCH_MIPS32R2)
> -+    defined(_MIPS_ARCH_MIPS32R2) || \
> -+    defined(__AARCH64EL__) || defined(__aarch64__) || \
> -+    defined(__riscv)
> - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
> -+#elif defined(__mc68000__) || \
> -+    defined(__pnacl__) || defined(__native_client__)
> -+#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
> - #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
> - #if defined(_WIN32)
> - // Windows uses a 64bit wide floating point stack.
> -@@ -71,9 +93,10 @@
> - #error Target architecture was not detected as supported by Double-Conversion.
> - #endif
> -
> --
> - #include "mozilla/StandardInteger.h"
> -
> -+typedef uint16_t uc16;
> -+
> - // The following macro works on both 32 and 64-bit platforms.
> - // Usage: instead of writing 0x1234567890123456
> - //      write UINT64_2PART_C(0x12345678,90123456);
> -@@ -92,8 +115,8 @@
> -
> - // A macro to disallow the evil copy constructor and operator= functions
> - // This should be used in the private: declarations for a class
> --#ifndef DISALLOW_COPY_AND_ASSIGN
> --#define DISALLOW_COPY_AND_ASSIGN(TypeName)      \
> -+#ifndef DC_DISALLOW_COPY_AND_ASSIGN
> -+#define DC_DISALLOW_COPY_AND_ASSIGN(TypeName)      \
> -   TypeName(const TypeName&);                    \
> -   void operator=(const TypeName&)
> - #endif
> -@@ -104,10 +127,10 @@
> - // This should be used in the private: declarations for a class
> - // that wants to prevent anyone from instantiating it. This is
> - // especially useful for classes containing only static methods.
> --#ifndef DISALLOW_IMPLICIT_CONSTRUCTORS
> --#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
> -+#ifndef DC_DISALLOW_IMPLICIT_CONSTRUCTORS
> -+#define DC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
> -   TypeName();                                    \
> --  DISALLOW_COPY_AND_ASSIGN(TypeName)
> -+  DC_DISALLOW_COPY_AND_ASSIGN(TypeName)
> - #endif
> -
> - namespace double_conversion {
> -@@ -139,8 +162,8 @@ template <typename T>
> - class Vector {
> -  public:
> -   Vector() : start_(NULL), length_(0) {}
> --  Vector(T* data, int length) : start_(data), length_(length) {
> --    ASSERT(length == 0 || (length > 0 && data != NULL));
> -+  Vector(T* data, int len) : start_(data), length_(len) {
> -+    ASSERT(len == 0 || (len > 0 && data != NULL));
> -   }
> -
> -   // Returns a vector using the same backing storage as this one,
> -@@ -182,8 +205,8 @@ class Vector {
> - // buffer bounds on all operations in debug mode.
> - class StringBuilder {
> -  public:
> --  StringBuilder(char* buffer, int size)
> --      : buffer_(buffer, size), position_(0) { }
> -+  StringBuilder(char* buffer, int buffer_size)
> -+      : buffer_(buffer, buffer_size), position_(0) { }
> -
> -   ~StringBuilder() { if (!is_finalized()) Finalize(); }
> -
> -@@ -249,7 +272,7 @@ class StringBuilder {
> -
> -   bool is_finalized() const { return position_ < 0; }
> -
> --  DISALLOW_IMPLICIT_CONSTRUCTORS(StringBuilder);
> -+  DC_DISALLOW_IMPLICIT_CONSTRUCTORS(StringBuilder);
> - };
> -
> - // The type-based aliasing rule allows the compiler to assume that pointers of
> -@@ -280,7 +303,12 @@ template <class Dest, class Source>
> - inline Dest BitCast(const Source& source) {
> -   // Compile time assertion: sizeof(Dest) == sizeof(Source)
> -   // A compile error here means your Dest and Source have different sizes.
> -+#if __cplusplus >= 201103L
> -+  static_assert(sizeof(Dest) == sizeof(Source),
> -+                "source and destination size mismatch");
> -+#else
> -   typedef char VerifySizesAreEqual[sizeof(Dest) == sizeof(Source) ? 1 : -1];
> -+#endif
> -
> -   Dest dest;
> -   memmove(&dest, &source, sizeof(dest));
> ---
> -2.17.0
> -
> diff --git a/meta-oe/recipes-extended/mozjs/mozjs/Update-the-double-conversion-update-script.patch b/meta-oe/recipes-extended/mozjs/mozjs/Update-the-double-conversion-update-script.patch
> deleted file mode 100644
> index ffeac49..0000000
> --- a/meta-oe/recipes-extended/mozjs/mozjs/Update-the-double-conversion-update-script.patch
> +++ /dev/null
> @@ -1,175 +0,0 @@
> -From 1c3f6dd9bb478fea0622e8a9ba2efbf19d73e302 Mon Sep 17 00:00:00 2001
> -From: Alistair Francis <alistair.francis at wdc.com>
> -Date: Fri, 1 Jun 2018 14:46:47 -0700
> -Subject: [PATCH] Update the double conversion update script
> -
> -Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
> ----
> - .../add-mfbt-api-markers.patch                | 94 -------------------
> - .../more-architectures.patch                  | 30 ------
> - mfbt/double-conversion/update.sh              |  8 +-
> - 3 files changed, 3 insertions(+), 129 deletions(-)
> - delete mode 100644 mfbt/double-conversion/add-mfbt-api-markers.patch
> - delete mode 100644 mfbt/double-conversion/more-architectures.patch
> -
> -diff --git a/mfbt/double-conversion/add-mfbt-api-markers.patch b/mfbt/double-conversion/add-mfbt-api-markers.patch
> -deleted file mode 100644
> -index b98ec74..0000000
> ---- a/mfbt/double-conversion/add-mfbt-api-markers.patch
> -+++ /dev/null
> -@@ -1,94 +0,0 @@
> --diff --git a/mfbt/double-conversion/double-conversion.h b/mfbt/double-conversion/double-conversion.h
> --index f98edae..e536a01 100644
> ----- a/mfbt/double-conversion/double-conversion.h
> --+++ b/mfbt/double-conversion/double-conversion.h
> --@@ -28,6 +28,7 @@
> -- #ifndef DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
> -- #define DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_





More information about the Openembedded-devel mailing list