summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2018-07-17 09:31:44 +0800
committerKhem Raj <raj.khem@gmail.com>2018-07-16 18:42:40 -0700
commit50e8ed5fd4d09be1e89fb7fd0ba6b26c8be15699 (patch)
tree355eb7bc6cce190180b8cef5245ebcc7b73b81e5
parent2de6f8d1b4608dbdce391c3d89d01402eb641f52 (diff)
downloadmeta-openembedded-50e8ed5fd4d09be1e89fb7fd0ba6b26c8be15699.tar.gz
mozjs: 17.0.0 -> 52.8.1
- 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 - Set DISABLE_STATIC = "" to build without option `--disable-static' - Set musl patch (0006-support-musl.patch) with musl override. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch32
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch91
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch30
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch36
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch3238
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch75
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch34
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch28
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch42
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch103
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch44
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch38
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch158
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch39
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch112
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/Update-Double-Conversion.patch1732
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/Update-the-double-conversion-update-script.patch175
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch18
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch20
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb83
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb95
21 files changed, 514 insertions, 5709 deletions
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 40d646c7d..000000000
--- 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 @@
1From f36c9476d2816e0d3e61c9e13c22ed73883cb54a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 24 Apr 2017 12:13:43 -0700
4Subject: [PATCH] compare the first character of string to be null or not
5
6Fixes
7
8error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
9| if (value[0] == '\0')
10| ^~~~
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 js/src/shell/jsoptparse.cpp | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/js/src/shell/jsoptparse.cpp b/js/src/shell/jsoptparse.cpp
18index b49d0a5..612aa00 100644
19--- a/js/src/shell/jsoptparse.cpp
20+++ b/js/src/shell/jsoptparse.cpp
21@@ -243,7 +243,7 @@ OptionParser::extractValue(size_t argc, char **argv, size_t *i, char **value)
22 char *eq = strchr(argv[*i], '=');
23 if (eq) {
24 *value = eq + 1;
25- if (value[0] == '\0')
26+ if (value[0][0] == '\0')
27 return error("A value is required for option %.*s", eq - argv[*i], argv[*i]);
28 return Okay;
29 }
30--
312.12.2
32
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 000000000..ba317bc0c
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
@@ -0,0 +1,91 @@
1From 5028d1cd669c179ed49061316d04c8e8862a5bd8 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 12 Jul 2018 15:04:47 +0800
4Subject: [PATCH 1/5] do not create python environment
5
6Use oe's python environment rather than create one of host
7
8Upstream-Status: Inappropriate [oe specific]
9
10Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
11---
12 build/moz.configure/init.configure | 18 ------------------
13 configure.py | 10 +++++++++-
14 js/src/old-configure | 4 ++--
15 3 files changed, 11 insertions(+), 21 deletions(-)
16
17diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
18index 2123beb..6fe6591 100644
19--- a/build/moz.configure/init.configure
20+++ b/build/moz.configure/init.configure
21@@ -179,24 +179,6 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
22 else:
23 python = sys.executable
24
25- if not manager.up_to_date(python):
26- log.info('Creating Python environment')
27- manager.build(python)
28-
29- python = normsep(manager.python_path)
30-
31- if python != normsep(sys.executable):
32- log.info('Reexecuting in the virtualenv')
33- if env_python:
34- del os.environ['PYTHON']
35- # One would prefer to use os.execl, but that's completely borked on
36- # Windows.
37- sys.exit(subprocess.call([python] + sys.argv))
38-
39- # We are now in the virtualenv
40- if not distutils.sysconfig.get_python_lib():
41- die('Could not determine python site packages directory')
42-
43 return python
44
45 set_config('PYTHON', virtualenv_python)
46diff --git a/configure.py b/configure.py
47index f7392d0..45323a5 100644
48--- a/configure.py
49+++ b/configure.py
50@@ -12,7 +12,15 @@ import textwrap
51
52
53 base_dir = os.path.abspath(os.path.dirname(__file__))
54-sys.path.insert(0, os.path.join(base_dir, 'python', 'mozbuild'))
55+sys.path.insert(0, os.path.join(base_dir, 'config'))
56+def get_immediate_subdirectories(a_dir):
57+ return [name for name in os.listdir(a_dir)
58+ if os.path.isdir(os.path.join(a_dir, name))]
59+for s in ["python", "testing/mozbase"]:
60+ sub_dir = os.path.join(base_dir, s)
61+ for module_dir in get_immediate_subdirectories(sub_dir):
62+ sys.path.insert(0, os.path.join(sub_dir, module_dir))
63+
64 from mozbuild.configure import ConfigureSandbox
65 from mozbuild.util import (
66 indented_repr,
67diff --git a/js/src/old-configure b/js/src/old-configure
68index ee4527b..75b00e1 100644
69--- a/js/src/old-configure
70+++ b/js/src/old-configure
71@@ -10512,7 +10512,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then
72 ;;
73 esac
74
75- eval $dumpenv $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
76+ eval $dumpenv PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
77
78 done
79
80@@ -10931,7 +10931,7 @@ if test "$JS_STANDALONE"; then
81
82 if test "$no_recursion" != yes; then
83 trap '' EXIT
84- if ! $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
85+ if ! PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
86 exit 1
87 fi
88 fi
89--
902.7.4
91
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 bc141d9d5..c111ea5ea 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@googlemail.com>
3Date: Thu, 6 Jun 2013 18:36:01 +0200 3Date: Thu, 6 Jun 2013 18:36:01 +0200
4Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending 4Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending
5 packages 5 packages
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9 6
10in our cross environment the would fail with: 7in our cross environment the would fail with:
11 8
12| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory 9| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory
13 10
14and currently it only defines __STDC_LIMIT_MACROS 11and currently it only defines __STDC_LIMIT_MACROS
15
16Upstream-Status: Inappropriate [embedded specific] 12Upstream-Status: Inappropriate [embedded specific]
17
18Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> 13Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
14
15Rebase to 52.8.1
16Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
19--- 17---
20 js.pc.in | 2 +- 18 js/src/js.pc.in | 2 +-
21 1 files changed, 1 insertions(+), 1 deletions(-) 19 1 file changed, 1 insertion(+), 1 deletion(-)
22 20
23diff --git a/js.pc.in b/js.pc.in 21diff --git a/js/src/js.pc.in b/js/src/js.pc.in
24index 13d761d..a95a7bd 100644 22index 2eae393..c2dea62 100644
25--- a/js.pc.in 23--- a/js/src/js.pc.in
26+++ b/js.pc.in 24+++ b/js/src/js.pc.in
27@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript 25@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
28 Version: @MOZILLA_VERSION@ 26 Version: @MOZILLA_VERSION@
29 Requires.private: @NSPR_PKGCONF_CHECK@ 27 @PKGCONF_REQUIRES_PRIVATE@
30 Libs: -L${libdir} -l@LIBRARY_NAME@ 28 Libs: -L${libdir} -l@JS_LIBRARY_NAME@
31-Cflags: -include ${includedir}/@MODULE@/js/RequiredDefines.h -I${includedir}/@MODULE@ 29-Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -I${includedir}/@JS_LIBRARY_NAME@
32+Cflags: -I${includedir}/@MODULE@ 30+Cflags: -I${includedir}/@JS_LIBRARY_NAME@
33-- 31--
341.7.6.5 322.7.4
35 33
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 de72d4f9a..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From da3929a96d9c74e11bf37d128890e18fcb745365 Mon Sep 17 00:00:00 2001
2From: Lei Maohui <leimaohui@cn.fujitsu.com>
3Date: Mon, 26 Jan 2015 08:53:19 +0900
4Subject: [PATCH] mozjs17.0.0: fix the compile bug of powerpc
5
6To fix the bug as following
7
8error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]' for
9argument '5' to 'JSBool TryArgumentFormatter(JSContext*, const char**,
10JSBool, jsval**, __va_list_tag (*)[1])'
11
12Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
13---
14 jscpucfg.h | 6 ++++++
15 1 file changed, 6 insertions(+)
16
17diff --git a/jscpucfg.h b/jscpucfg.h
18index dfb1c14..8683491 100644
19--- a/jscpucfg.h
20+++ b/jscpucfg.h
21@@ -47,6 +47,12 @@
22 #elif defined(JS_HAVE_ENDIAN_H)
23 # include <endian.h>
24
25+#if defined(_POWER) || defined(__powerpc__) || \
26+ defined(__ppc__)
27+# define HAVE_VA_LIST_AS_ARRAY 1
28+# endif
29+
30+
31 # if defined(__BYTE_ORDER)
32 # if __BYTE_ORDER == __LITTLE_ENDIAN
33 # define IS_LITTLE_ENDIAN 1
34--
351.8.4.2
36
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 fa413ea9f..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/0001-regenerate-configure.patch
+++ /dev/null
@@ -1,3238 +0,0 @@
1From 6440b4901c6f4bcc69686ff10806e311cc5a927b Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen.kooi@linaro.org>
3Date: Tue, 3 Mar 2015 19:12:17 +0800
4Subject: [PATCH] regenerate configure with autoconf-2.13
5
6Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
7Upstream-status: Inappropriate [generated file]
8
9---
10 js/src/configure | 838 ++++++++++++++++++++++++++-----------------------------
11 1 file changed, 389 insertions(+), 449 deletions(-)
12
13diff --git a/js/src/configure b/js/src/configure
14index cb6b41b..b05298f 100755
15--- a/js/src/configure
16+++ b/js/src/configure
17@@ -5757,6 +5757,10 @@ arm*)
18 CPU_ARCH=arm
19 ;;
20
21+aarch64*)
22+ CPU_ARCH=aarch64
23+ ;;
24+
25 mips|mipsel)
26 CPU_ARCH="mips"
27 ;;
28@@ -5893,14 +5897,14 @@ no)
29 _SAVE_CFLAGS="$CFLAGS"
30 CFLAGS="$arch_flag"
31 cat > conftest.$ac_ext <<EOF
32-#line 5897 "configure"
33+#line 5901 "configure"
34 #include "confdefs.h"
35
36 int main() {
37 return sizeof(__thumb2__);
38 ; return 0; }
39 EOF
40-if { (eval echo configure:5904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
41+if { (eval echo configure:5908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
42 rm -rf conftest*
43 MOZ_THUMB2=1
44 else
45@@ -5972,16 +5976,16 @@ if test -n "$all_flags"; then
46 _SAVE_CFLAGS="$CFLAGS"
47 CFLAGS="$all_flags"
48 echo $ac_n "checking whether the chosen combination of compiler flags ($all_flags) works""... $ac_c" 1>&6
49-echo "configure:5976: checking whether the chosen combination of compiler flags ($all_flags) works" >&5
50+echo "configure:5980: checking whether the chosen combination of compiler flags ($all_flags) works" >&5
51 cat > conftest.$ac_ext <<EOF
52-#line 5978 "configure"
53+#line 5982 "configure"
54 #include "confdefs.h"
55
56 int main() {
57 return 0;
58 ; return 0; }
59 EOF
60-if { (eval echo configure:5985: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
61+if { (eval echo configure:5989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
62 rm -rf conftest*
63 echo "$ac_t""yes" 1>&6
64 else
65@@ -6004,18 +6008,18 @@ fi
66
67 if test "$CPU_ARCH" = "arm"; then
68 echo $ac_n "checking for ARM SIMD support in compiler""... $ac_c" 1>&6
69-echo "configure:6008: checking for ARM SIMD support in compiler" >&5
70+echo "configure:6012: checking for ARM SIMD support in compiler" >&5
71 # We try to link so that this also fails when
72 # building with LTO.
73 cat > conftest.$ac_ext <<EOF
74-#line 6012 "configure"
75+#line 6016 "configure"
76 #include "confdefs.h"
77
78 int main() {
79 asm("uqadd8 r1, r1, r2");
80 ; return 0; }
81 EOF
82-if { (eval echo configure:6019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
83+if { (eval echo configure:6023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
84 rm -rf conftest*
85 result="yes"
86 else
87@@ -6038,18 +6042,18 @@ EOF
88 fi
89
90 echo $ac_n "checking for ARM NEON support in compiler""... $ac_c" 1>&6
91-echo "configure:6042: checking for ARM NEON support in compiler" >&5
92+echo "configure:6046: checking for ARM NEON support in compiler" >&5
93 # We try to link so that this also fails when
94 # building with LTO.
95 cat > conftest.$ac_ext <<EOF
96-#line 6046 "configure"
97+#line 6050 "configure"
98 #include "confdefs.h"
99
100 int main() {
101 asm(".fpu neon\n vadd.i8 d0, d0, d0");
102 ; return 0; }
103 EOF
104-if { (eval echo configure:6053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
105+if { (eval echo configure:6057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
106 rm -rf conftest*
107 result="yes"
108 else
109@@ -6094,7 +6098,7 @@ configure_static_assert_macros='
110 '
111
112 echo $ac_n "checking that static assertion macros used in autoconf tests work""... $ac_c" 1>&6
113-echo "configure:6098: checking that static assertion macros used in autoconf tests work" >&5
114+echo "configure:6102: checking that static assertion macros used in autoconf tests work" >&5
115 if eval "test \"`echo '$''{'ac_cv_static_assertion_macros_work'+set}'`\" = set"; then
116 echo $ac_n "(cached) $ac_c" 1>&6
117 else
118@@ -6108,14 +6112,14 @@ cross_compiling=$ac_cv_prog_cc_cross
119
120 ac_cv_static_assertion_macros_work="yes"
121 cat > conftest.$ac_ext <<EOF
122-#line 6112 "configure"
123+#line 6116 "configure"
124 #include "confdefs.h"
125 $configure_static_assert_macros
126 int main() {
127 CONFIGURE_STATIC_ASSERT(1)
128 ; return 0; }
129 EOF
130-if { (eval echo configure:6119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
131+if { (eval echo configure:6123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
132 :
133 else
134 echo "configure: failed program was:" >&5
135@@ -6125,14 +6129,14 @@ else
136 fi
137 rm -f conftest*
138 cat > conftest.$ac_ext <<EOF
139-#line 6129 "configure"
140+#line 6133 "configure"
141 #include "confdefs.h"
142 $configure_static_assert_macros
143 int main() {
144 CONFIGURE_STATIC_ASSERT(0)
145 ; return 0; }
146 EOF
147-if { (eval echo configure:6136: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
148+if { (eval echo configure:6140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
149 rm -rf conftest*
150 ac_cv_static_assertion_macros_work="no"
151 else
152@@ -6148,14 +6152,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
153 cross_compiling=$ac_cv_prog_cxx_cross
154
155 cat > conftest.$ac_ext <<EOF
156-#line 6152 "configure"
157+#line 6156 "configure"
158 #include "confdefs.h"
159 $configure_static_assert_macros
160 int main() {
161 CONFIGURE_STATIC_ASSERT(1)
162 ; return 0; }
163 EOF
164-if { (eval echo configure:6159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
165+if { (eval echo configure:6163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
166 :
167 else
168 echo "configure: failed program was:" >&5
169@@ -6165,14 +6169,14 @@ else
170 fi
171 rm -f conftest*
172 cat > conftest.$ac_ext <<EOF
173-#line 6169 "configure"
174+#line 6173 "configure"
175 #include "confdefs.h"
176 $configure_static_assert_macros
177 int main() {
178 CONFIGURE_STATIC_ASSERT(0)
179 ; return 0; }
180 EOF
181-if { (eval echo configure:6176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
182+if { (eval echo configure:6180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
183 rm -rf conftest*
184 ac_cv_static_assertion_macros_work="no"
185 else
186@@ -6317,7 +6321,7 @@ if test "$GNU_CC"; then
187 _WARNINGS_CFLAGS="${_WARNINGS_CFLAGS} -Wall -Wpointer-arith -Wdeclaration-after-statement"
188
189 echo $ac_n "checking whether the C compiler supports -Werror=return-type""... $ac_c" 1>&6
190-echo "configure:6321: checking whether the C compiler supports -Werror=return-type" >&5
191+echo "configure:6325: checking whether the C compiler supports -Werror=return-type" >&5
192 if eval "test \"`echo '$''{'ac_c_has_werror_return_type'+set}'`\" = set"; then
193 echo $ac_n "(cached) $ac_c" 1>&6
194 else
195@@ -6333,14 +6337,14 @@ cross_compiling=$ac_cv_prog_cc_cross
196 _SAVE_CFLAGS="$CFLAGS"
197 CFLAGS="$CFLAGS -Werror -Werror=return-type"
198 cat > conftest.$ac_ext <<EOF
199-#line 6337 "configure"
200+#line 6341 "configure"
201 #include "confdefs.h"
202
203 int main() {
204 return(0);
205 ; return 0; }
206 EOF
207-if { (eval echo configure:6344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
208+if { (eval echo configure:6348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
209 rm -rf conftest*
210 ac_c_has_werror_return_type="yes"
211 else
212@@ -6368,7 +6372,7 @@ echo "$ac_t""$ac_c_has_werror_return_type" 1>&6
213
214
215 echo $ac_n "checking whether the C compiler supports -Wtype-limits""... $ac_c" 1>&6
216-echo "configure:6372: checking whether the C compiler supports -Wtype-limits" >&5
217+echo "configure:6376: checking whether the C compiler supports -Wtype-limits" >&5
218 if eval "test \"`echo '$''{'ac_c_has_wtype_limits'+set}'`\" = set"; then
219 echo $ac_n "(cached) $ac_c" 1>&6
220 else
221@@ -6384,14 +6388,14 @@ cross_compiling=$ac_cv_prog_cc_cross
222 _SAVE_CFLAGS="$CFLAGS"
223 CFLAGS="$CFLAGS -Werror -Wtype-limits"
224 cat > conftest.$ac_ext <<EOF
225-#line 6388 "configure"
226+#line 6392 "configure"
227 #include "confdefs.h"
228
229 int main() {
230 return(0);
231 ; return 0; }
232 EOF
233-if { (eval echo configure:6395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
234+if { (eval echo configure:6399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
235 rm -rf conftest*
236 ac_c_has_wtype_limits="yes"
237 else
238@@ -6419,7 +6423,7 @@ echo "$ac_t""$ac_c_has_wtype_limits" 1>&6
239
240
241 echo $ac_n "checking whether the C compiler supports -Wempty-body""... $ac_c" 1>&6
242-echo "configure:6423: checking whether the C compiler supports -Wempty-body" >&5
243+echo "configure:6427: checking whether the C compiler supports -Wempty-body" >&5
244 if eval "test \"`echo '$''{'ac_c_has_wempty_body'+set}'`\" = set"; then
245 echo $ac_n "(cached) $ac_c" 1>&6
246 else
247@@ -6435,14 +6439,14 @@ cross_compiling=$ac_cv_prog_cc_cross
248 _SAVE_CFLAGS="$CFLAGS"
249 CFLAGS="$CFLAGS -Werror -Wempty-body"
250 cat > conftest.$ac_ext <<EOF
251-#line 6439 "configure"
252+#line 6443 "configure"
253 #include "confdefs.h"
254
255 int main() {
256 return(0);
257 ; return 0; }
258 EOF
259-if { (eval echo configure:6446: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
260+if { (eval echo configure:6450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
261 rm -rf conftest*
262 ac_c_has_wempty_body="yes"
263 else
264@@ -6476,7 +6480,7 @@ echo "$ac_t""$ac_c_has_wempty_body" 1>&6
265 _WARNINGS_CFLAGS="${_WARNINGS_CFLAGS} -Wno-unused"
266
267 echo $ac_n "checking whether the C compiler supports -Wno-overlength-strings""... $ac_c" 1>&6
268-echo "configure:6480: checking whether the C compiler supports -Wno-overlength-strings" >&5
269+echo "configure:6484: checking whether the C compiler supports -Wno-overlength-strings" >&5
270 if eval "test \"`echo '$''{'ac_c_has_wno_overlength_strings'+set}'`\" = set"; then
271 echo $ac_n "(cached) $ac_c" 1>&6
272 else
273@@ -6492,14 +6496,14 @@ cross_compiling=$ac_cv_prog_cc_cross
274 _SAVE_CFLAGS="$CFLAGS"
275 CFLAGS="$CFLAGS -Werror -Woverlength-strings"
276 cat > conftest.$ac_ext <<EOF
277-#line 6496 "configure"
278+#line 6500 "configure"
279 #include "confdefs.h"
280
281 int main() {
282 return(0);
283 ; return 0; }
284 EOF
285-if { (eval echo configure:6503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
286+if { (eval echo configure:6507: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
287 rm -rf conftest*
288 ac_c_has_wno_overlength_strings="yes"
289 else
290@@ -6580,7 +6584,7 @@ if test "$GNU_CXX"; then
291 _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wall -Wpointer-arith -Woverloaded-virtual"
292
293 echo $ac_n "checking whether the C++ compiler supports -Werror=return-type""... $ac_c" 1>&6
294-echo "configure:6584: checking whether the C++ compiler supports -Werror=return-type" >&5
295+echo "configure:6588: checking whether the C++ compiler supports -Werror=return-type" >&5
296 if eval "test \"`echo '$''{'ac_cxx_has_werror_return_type'+set}'`\" = set"; then
297 echo $ac_n "(cached) $ac_c" 1>&6
298 else
299@@ -6596,14 +6600,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
300 _SAVE_CXXFLAGS="$CXXFLAGS"
301 CXXFLAGS="$CXXFLAGS -Werror -Werror=return-type"
302 cat > conftest.$ac_ext <<EOF
303-#line 6600 "configure"
304+#line 6604 "configure"
305 #include "confdefs.h"
306
307 int main() {
308 return(0);
309 ; return 0; }
310 EOF
311-if { (eval echo configure:6607: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
312+if { (eval echo configure:6611: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
313 rm -rf conftest*
314 ac_cxx_has_werror_return_type="yes"
315 else
316@@ -6631,7 +6635,7 @@ echo "$ac_t""$ac_cxx_has_werror_return_type" 1>&6
317
318
319 echo $ac_n "checking whether the C++ compiler supports -Wtype-limits""... $ac_c" 1>&6
320-echo "configure:6635: checking whether the C++ compiler supports -Wtype-limits" >&5
321+echo "configure:6639: checking whether the C++ compiler supports -Wtype-limits" >&5
322 if eval "test \"`echo '$''{'ac_cxx_has_wtype_limits'+set}'`\" = set"; then
323 echo $ac_n "(cached) $ac_c" 1>&6
324 else
325@@ -6647,14 +6651,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
326 _SAVE_CXXFLAGS="$CXXFLAGS"
327 CXXFLAGS="$CXXFLAGS -Werror -Wtype-limits"
328 cat > conftest.$ac_ext <<EOF
329-#line 6651 "configure"
330+#line 6655 "configure"
331 #include "confdefs.h"
332
333 int main() {
334 return(0);
335 ; return 0; }
336 EOF
337-if { (eval echo configure:6658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
338+if { (eval echo configure:6662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
339 rm -rf conftest*
340 ac_cxx_has_wtype_limits="yes"
341 else
342@@ -6682,7 +6686,7 @@ echo "$ac_t""$ac_cxx_has_wtype_limits" 1>&6
343
344
345 echo $ac_n "checking whether the C++ compiler supports -Wempty-body""... $ac_c" 1>&6
346-echo "configure:6686: checking whether the C++ compiler supports -Wempty-body" >&5
347+echo "configure:6690: checking whether the C++ compiler supports -Wempty-body" >&5
348 if eval "test \"`echo '$''{'ac_cxx_has_wempty_body'+set}'`\" = set"; then
349 echo $ac_n "(cached) $ac_c" 1>&6
350 else
351@@ -6698,14 +6702,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
352 _SAVE_CXXFLAGS="$CXXFLAGS"
353 CXXFLAGS="$CXXFLAGS -Werror -Wempty-body"
354 cat > conftest.$ac_ext <<EOF
355-#line 6702 "configure"
356+#line 6706 "configure"
357 #include "confdefs.h"
358
359 int main() {
360 return(0);
361 ; return 0; }
362 EOF
363-if { (eval echo configure:6709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
364+if { (eval echo configure:6713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
365 rm -rf conftest*
366 ac_cxx_has_wempty_body="yes"
367 else
368@@ -6741,7 +6745,7 @@ echo "$ac_t""$ac_cxx_has_wempty_body" 1>&6
369 _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-ctor-dtor-privacy"
370
371 echo $ac_n "checking whether the C++ compiler supports -Wno-overlength-strings""... $ac_c" 1>&6
372-echo "configure:6745: checking whether the C++ compiler supports -Wno-overlength-strings" >&5
373+echo "configure:6749: checking whether the C++ compiler supports -Wno-overlength-strings" >&5
374 if eval "test \"`echo '$''{'ac_cxx_has_wno_overlength_strings'+set}'`\" = set"; then
375 echo $ac_n "(cached) $ac_c" 1>&6
376 else
377@@ -6757,14 +6761,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
378 _SAVE_CXXFLAGS="$CXXFLAGS"
379 CXXFLAGS="$CXXFLAGS -Werror -Woverlength-strings"
380 cat > conftest.$ac_ext <<EOF
381-#line 6761 "configure"
382+#line 6765 "configure"
383 #include "confdefs.h"
384
385 int main() {
386 return(0);
387 ; return 0; }
388 EOF
389-if { (eval echo configure:6768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
390+if { (eval echo configure:6772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
391 rm -rf conftest*
392 ac_cxx_has_wno_overlength_strings="yes"
393 else
394@@ -6792,7 +6796,7 @@ echo "$ac_t""$ac_cxx_has_wno_overlength_strings" 1>&6
395
396
397 echo $ac_n "checking whether the C++ compiler supports -Wno-invalid-offsetof""... $ac_c" 1>&6
398-echo "configure:6796: checking whether the C++ compiler supports -Wno-invalid-offsetof" >&5
399+echo "configure:6800: checking whether the C++ compiler supports -Wno-invalid-offsetof" >&5
400 if eval "test \"`echo '$''{'ac_cxx_has_wno_invalid_offsetof'+set}'`\" = set"; then
401 echo $ac_n "(cached) $ac_c" 1>&6
402 else
403@@ -6808,14 +6812,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
404 _SAVE_CXXFLAGS="$CXXFLAGS"
405 CXXFLAGS="$CXXFLAGS -Werror -Winvalid-offsetof"
406 cat > conftest.$ac_ext <<EOF
407-#line 6812 "configure"
408+#line 6816 "configure"
409 #include "confdefs.h"
410
411 int main() {
412 return(0);
413 ; return 0; }
414 EOF
415-if { (eval echo configure:6819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
416+if { (eval echo configure:6823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
417 rm -rf conftest*
418 ac_cxx_has_wno_invalid_offsetof="yes"
419 else
420@@ -6843,7 +6847,7 @@ echo "$ac_t""$ac_cxx_has_wno_invalid_offsetof" 1>&6
421
422
423 echo $ac_n "checking whether the C++ compiler supports -Wno-variadic-macros""... $ac_c" 1>&6
424-echo "configure:6847: checking whether the C++ compiler supports -Wno-variadic-macros" >&5
425+echo "configure:6851: checking whether the C++ compiler supports -Wno-variadic-macros" >&5
426 if eval "test \"`echo '$''{'ac_cxx_has_wno_variadic_macros'+set}'`\" = set"; then
427 echo $ac_n "(cached) $ac_c" 1>&6
428 else
429@@ -6859,14 +6863,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
430 _SAVE_CXXFLAGS="$CXXFLAGS"
431 CXXFLAGS="$CXXFLAGS -Werror -Wvariadic-macros"
432 cat > conftest.$ac_ext <<EOF
433-#line 6863 "configure"
434+#line 6867 "configure"
435 #include "confdefs.h"
436
437 int main() {
438 return(0);
439 ; return 0; }
440 EOF
441-if { (eval echo configure:6870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
442+if { (eval echo configure:6874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
443 rm -rf conftest*
444 ac_cxx_has_wno_variadic_macros="yes"
445 else
446@@ -6918,7 +6922,7 @@ echo "$ac_t""$ac_cxx_has_wno_variadic_macros" 1>&6
447 _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-c++0x-extensions"
448
449 echo $ac_n "checking whether the C++ compiler supports -Wno-extended-offsetof""... $ac_c" 1>&6
450-echo "configure:6922: checking whether the C++ compiler supports -Wno-extended-offsetof" >&5
451+echo "configure:6926: checking whether the C++ compiler supports -Wno-extended-offsetof" >&5
452 if eval "test \"`echo '$''{'ac_cxx_has_wno_extended_offsetof'+set}'`\" = set"; then
453 echo $ac_n "(cached) $ac_c" 1>&6
454 else
455@@ -6934,14 +6938,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
456 _SAVE_CXXFLAGS="$CXXFLAGS"
457 CXXFLAGS="$CXXFLAGS -Werror -Wextended-offsetof"
458 cat > conftest.$ac_ext <<EOF
459-#line 6938 "configure"
460+#line 6942 "configure"
461 #include "confdefs.h"
462
463 int main() {
464 return(0);
465 ; return 0; }
466 EOF
467-if { (eval echo configure:6945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
468+if { (eval echo configure:6949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
469 rm -rf conftest*
470 ac_cxx_has_wno_extended_offsetof="yes"
471 else
472@@ -6979,7 +6983,7 @@ MKSHLIB_UNFORCE_ALL=
473 if test "$COMPILE_ENVIRONMENT"; then
474 if test "$GNU_CC"; then
475 echo $ac_n "checking whether ld has archive extraction flags""... $ac_c" 1>&6
476-echo "configure:6983: checking whether ld has archive extraction flags" >&5
477+echo "configure:6987: checking whether ld has archive extraction flags" >&5
478 if eval "test \"`echo '$''{'ac_cv_mkshlib_force_and_unforce'+set}'`\" = set"; then
479 echo $ac_n "(cached) $ac_c" 1>&6
480 else
481@@ -6996,14 +7000,14 @@ LOOP_INPUT
482 LDFLAGS=$force
483 LIBS=$unforce
484 cat > conftest.$ac_ext <<EOF
485-#line 7000 "configure"
486+#line 7004 "configure"
487 #include "confdefs.h"
488
489 int main() {
490
491 ; return 0; }
492 EOF
493-if { (eval echo configure:7007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
494+if { (eval echo configure:7011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
495 rm -rf conftest*
496 ac_cv_mkshlib_force_and_unforce=$line; break
497 else
498@@ -7038,16 +7042,16 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
499 cross_compiling=$ac_cv_prog_cc_cross
500
501 echo $ac_n "checking for 64-bit OS""... $ac_c" 1>&6
502-echo "configure:7042: checking for 64-bit OS" >&5
503+echo "configure:7046: checking for 64-bit OS" >&5
504 cat > conftest.$ac_ext <<EOF
505-#line 7044 "configure"
506+#line 7048 "configure"
507 #include "confdefs.h"
508 $configure_static_assert_macros
509 int main() {
510 CONFIGURE_STATIC_ASSERT(sizeof(void*) == 8)
511 ; return 0; }
512 EOF
513-if { (eval echo configure:7051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
514+if { (eval echo configure:7055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
515 rm -rf conftest*
516 result="yes"
517 else
518@@ -7170,7 +7174,7 @@ case "$host" in
519 esac
520
521 echo $ac_n "checking for Python version >= $PYTHON_VERSION but not 3.x""... $ac_c" 1>&6
522-echo "configure:7174: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5
523+echo "configure:7178: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5
524
525 $PYTHON -c "import sys; sys.exit(sys.version[:3] < sys.argv[1] or sys.version[:2] != '2.')" $PYTHON_VERSION
526 _python_res=$?
527@@ -7181,7 +7185,7 @@ fi
528 echo "$ac_t""yes" 1>&6
529
530 echo $ac_n "checking for custom <stdint.h> implementation""... $ac_c" 1>&6
531-echo "configure:7185: checking for custom <stdint.h> implementation" >&5
532+echo "configure:7189: checking for custom <stdint.h> implementation" >&5
533 if test "$MOZ_CUSTOM_STDINT_H"; then
534 cat >> confdefs.pytmp <<EOF
535 (''' MOZ_CUSTOM_STDINT_H ''', r''' "$MOZ_CUSTOM_STDINT_H" ''')
536@@ -7249,9 +7253,9 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
537 cross_compiling=$ac_cv_prog_cxx_cross
538
539 echo $ac_n "checking for IBM XLC/C++ compiler version >= 9.0.0.7""... $ac_c" 1>&6
540-echo "configure:7253: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5
541+echo "configure:7257: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5
542 cat > conftest.$ac_ext <<EOF
543-#line 7255 "configure"
544+#line 7259 "configure"
545 #include "confdefs.h"
546
547 int main() {
548@@ -7260,7 +7264,7 @@ int main() {
549 #endif
550 ; return 0; }
551 EOF
552-if { (eval echo configure:7264: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
553+if { (eval echo configure:7268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
554 rm -rf conftest*
555 _BAD_COMPILER=
556 else
557@@ -7298,12 +7302,12 @@ cross_compiling=$ac_cv_prog_cc_cross
558 do
559 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
560 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
561-echo "configure:7302: checking for $ac_hdr" >&5
562+echo "configure:7306: checking for $ac_hdr" >&5
563 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
564 echo $ac_n "(cached) $ac_c" 1>&6
565 else
566 cat > conftest.$ac_ext <<EOF
567-#line 7307 "configure"
568+#line 7311 "configure"
569 #include "confdefs.h"
570
571 #include <$ac_hdr>
572@@ -7311,7 +7315,7 @@ int main() {
573
574 ; return 0; }
575 EOF
576-if { (eval echo configure:7315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
577+if { (eval echo configure:7319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
578 rm -rf conftest*
579 eval "ac_cv_header_$ac_safe=yes"
580 else
581@@ -7394,17 +7398,17 @@ EOF
582 # builds.
583 _SAVE_LDFLAGS=$LDFLAGS
584 echo $ac_n "checking for -framework ExceptionHandling""... $ac_c" 1>&6
585-echo "configure:7398: checking for -framework ExceptionHandling" >&5
586+echo "configure:7402: checking for -framework ExceptionHandling" >&5
587 LDFLAGS="$LDFLAGS -framework ExceptionHandling"
588 cat > conftest.$ac_ext <<EOF
589-#line 7401 "configure"
590+#line 7405 "configure"
591 #include "confdefs.h"
592
593 int main() {
594 return 0;
595 ; return 0; }
596 EOF
597-if { (eval echo configure:7408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
598+if { (eval echo configure:7412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
599 rm -rf conftest*
600 ac_cv_have_framework_exceptionhandling="yes"
601 else
602@@ -7426,18 +7430,18 @@ rm -f conftest*
603 echo "Skipping -dead_strip because DTrace is enabled. See bug 403132."
604 else
605 echo $ac_n "checking for -dead_strip option to ld""... $ac_c" 1>&6
606-echo "configure:7430: checking for -dead_strip option to ld" >&5
607+echo "configure:7434: checking for -dead_strip option to ld" >&5
608 _SAVE_LDFLAGS=$LDFLAGS
609 LDFLAGS="$LDFLAGS -Wl,-dead_strip"
610 cat > conftest.$ac_ext <<EOF
611-#line 7434 "configure"
612+#line 7438 "configure"
613 #include "confdefs.h"
614
615 int main() {
616 return 0;
617 ; return 0; }
618 EOF
619-if { (eval echo configure:7441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
620+if { (eval echo configure:7445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
621 rm -rf conftest*
622 _HAVE_DEAD_STRIP=1
623 else
624@@ -7783,12 +7787,12 @@ EOF
625 do
626 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
627 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
628-echo "configure:7787: checking for $ac_hdr" >&5
629+echo "configure:7791: checking for $ac_hdr" >&5
630 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
631 echo $ac_n "(cached) $ac_c" 1>&6
632 else
633 cat > conftest.$ac_ext <<EOF
634-#line 7792 "configure"
635+#line 7796 "configure"
636 #include "confdefs.h"
637
638 #include <$ac_hdr>
639@@ -7796,7 +7800,7 @@ int main() {
640
641 ; return 0; }
642 EOF
643-if { (eval echo configure:7800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
644+if { (eval echo configure:7804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
645 rm -rf conftest*
646 eval "ac_cv_header_$ac_safe=yes"
647 else
648@@ -7989,19 +7993,19 @@ EOF
649 _DEFINES_CXXFLAGS="$_DEFINES_CXXFLAGS -Uunix -U__unix -U__unix__"
650
651 echo $ac_n "checking for __declspec(dllexport)""... $ac_c" 1>&6
652-echo "configure:7993: checking for __declspec(dllexport)" >&5
653+echo "configure:7997: checking for __declspec(dllexport)" >&5
654 if eval "test \"`echo '$''{'ac_os2_declspec'+set}'`\" = set"; then
655 echo $ac_n "(cached) $ac_c" 1>&6
656 else
657 cat > conftest.$ac_ext <<EOF
658-#line 7998 "configure"
659+#line 8002 "configure"
660 #include "confdefs.h"
661 __declspec(dllexport) void ac_os2_declspec(void) {}
662 int main() {
663 return 0;
664 ; return 0; }
665 EOF
666-if { (eval echo configure:8005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
667+if { (eval echo configure:8009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
668 rm -rf conftest*
669 ac_os2_declspec="yes"
670 else
671@@ -8054,14 +8058,14 @@ EOF
672 _SAVE_LDFLAGS=$LDFLAGS
673 LDFLAGS="-M /usr/lib/ld/map.noexstk $LDFLAGS"
674 cat > conftest.$ac_ext <<EOF
675-#line 8058 "configure"
676+#line 8062 "configure"
677 #include "confdefs.h"
678 #include <stdio.h>
679 int main() {
680 printf("Hello World\n");
681 ; return 0; }
682 EOF
683-if { (eval echo configure:8065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
684+if { (eval echo configure:8069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
685 :
686 else
687 echo "configure: failed program was:" >&5
688@@ -8089,7 +8093,7 @@ rm -f conftest*
689 CC_VERSION=`$CC -V 2>&1 | grep '^cc:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
690 CXX_VERSION=`$CXX -V 2>&1 | grep '^CC:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
691 echo $ac_n "checking for Sun C++ compiler version >= 5.9""... $ac_c" 1>&6
692-echo "configure:8093: checking for Sun C++ compiler version >= 5.9" >&5
693+echo "configure:8097: checking for Sun C++ compiler version >= 5.9" >&5
694
695 ac_ext=C
696 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
697@@ -8099,7 +8103,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
698 cross_compiling=$ac_cv_prog_cxx_cross
699
700 cat > conftest.$ac_ext <<EOF
701-#line 8103 "configure"
702+#line 8107 "configure"
703 #include "confdefs.h"
704
705 int main() {
706@@ -8108,7 +8112,7 @@ int main() {
707 #endif
708 ; return 0; }
709 EOF
710-if { (eval echo configure:8112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
711+if { (eval echo configure:8116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
712 rm -rf conftest*
713 _BAD_COMPILER=
714 else
715@@ -8125,7 +8129,7 @@ rm -f conftest*
716 _res="yes"
717 fi
718 cat > conftest.$ac_ext <<EOF
719-#line 8129 "configure"
720+#line 8133 "configure"
721 #include "confdefs.h"
722
723 int main() {
724@@ -8134,7 +8138,7 @@ int main() {
725 #endif
726 ; return 0; }
727 EOF
728-if { (eval echo configure:8138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
729+if { (eval echo configure:8142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
730 rm -rf conftest*
731 _ABOVE_SS12U1=
732 else
733@@ -8535,7 +8539,7 @@ fi
734
735 if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -z "$MOZ_DISABLE_ICF"; then
736 echo $ac_n "checking whether the linker supports Identical Code Folding""... $ac_c" 1>&6
737-echo "configure:8539: checking whether the linker supports Identical Code Folding" >&5
738+echo "configure:8543: checking whether the linker supports Identical Code Folding" >&5
739 if eval "test \"`echo '$''{'LD_SUPPORTS_ICF'+set}'`\" = set"; then
740 echo $ac_n "(cached) $ac_c" 1>&6
741 else
742@@ -8544,7 +8548,7 @@ else
743 'int main() {return foo() - bar();}' > conftest.${ac_ext}
744 # If the linker supports ICF, foo and bar symbols will have
745 # the same address
746- 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; }; } &&
747+ 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; }; } &&
748 test -s conftest${ac_exeext} &&
749 objdump -t conftest${ac_exeext} | awk '{a[$6] = $1} END {if (a["foo"] && (a["foo"] != a["bar"])) { exit 1 }}'; then
750 LD_SUPPORTS_ICF=yes
751@@ -8559,14 +8563,14 @@ echo "$ac_t""$LD_SUPPORTS_ICF" 1>&6
752 _SAVE_LDFLAGS="$LDFLAGS -Wl,--icf=safe"
753 LDFLAGS="$LDFLAGS -Wl,--icf=safe -Wl,--print-icf-sections"
754 cat > conftest.$ac_ext <<EOF
755-#line 8563 "configure"
756+#line 8567 "configure"
757 #include "confdefs.h"
758
759 int main() {
760
761 ; return 0; }
762 EOF
763-if { (eval echo configure:8570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
764+if { (eval echo configure:8574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
765 rm -rf conftest*
766 LD_PRINT_ICF_SECTIONS=-Wl,--print-icf-sections
767 else
768@@ -8584,15 +8588,15 @@ fi
769
770 if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -n "$MOZ_DEBUG_FLAGS"; then
771 echo $ac_n "checking whether removing dead symbols breaks debugging""... $ac_c" 1>&6
772-echo "configure:8588: checking whether removing dead symbols breaks debugging" >&5
773+echo "configure:8592: checking whether removing dead symbols breaks debugging" >&5
774 if eval "test \"`echo '$''{'GC_SECTIONS_BREAKS_DEBUG_RANGES'+set}'`\" = set"; then
775 echo $ac_n "(cached) $ac_c" 1>&6
776 else
777 echo 'int foo() {return 42;}' \
778 'int bar() {return 1;}' \
779 'int main() {return foo();}' > conftest.${ac_ext}
780- 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; }; } &&
781- { 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; }; } &&
782+ 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; }; } &&
783+ { 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; }; } &&
784 test -s conftest${ac_exeext} -a -s conftest.${ac_objext}; then
785 if test "`$PYTHON "$_topsrcdir"/build/autoconf/check_debug_ranges.py conftest.${ac_objext} conftest.${ac_ext}`" = \
786 "`$PYTHON "$_topsrcdir"/build/autoconf/check_debug_ranges.py conftest${ac_exeext} conftest.${ac_ext}`"; then
787@@ -8615,12 +8619,12 @@ fi
788
789 if test -z "$SKIP_COMPILER_CHECKS"; then
790 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
791-echo "configure:8619: checking for ANSI C header files" >&5
792+echo "configure:8623: checking for ANSI C header files" >&5
793 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
794 echo $ac_n "(cached) $ac_c" 1>&6
795 else
796 cat > conftest.$ac_ext <<EOF
797-#line 8624 "configure"
798+#line 8628 "configure"
799 #include "confdefs.h"
800 #include <stdlib.h>
801 #include <stdarg.h>
802@@ -8628,7 +8632,7 @@ else
803 #include <float.h>
804 EOF
805 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
806-{ (eval echo configure:8632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
807+{ (eval echo configure:8636: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
808 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
809 if test -z "$ac_err"; then
810 rm -rf conftest*
811@@ -8645,7 +8649,7 @@ rm -f conftest*
812 if test $ac_cv_header_stdc = yes; then
813 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
814 cat > conftest.$ac_ext <<EOF
815-#line 8649 "configure"
816+#line 8653 "configure"
817 #include "confdefs.h"
818 #include <string.h>
819 EOF
820@@ -8663,7 +8667,7 @@ fi
821 if test $ac_cv_header_stdc = yes; then
822 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
823 cat > conftest.$ac_ext <<EOF
824-#line 8667 "configure"
825+#line 8671 "configure"
826 #include "confdefs.h"
827 #include <stdlib.h>
828 EOF
829@@ -8684,7 +8688,7 @@ if test "$cross_compiling" = yes; then
830 :
831 else
832 cat > conftest.$ac_ext <<EOF
833-#line 8688 "configure"
834+#line 8692 "configure"
835 #include "confdefs.h"
836 #include <ctype.h>
837 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
838@@ -8695,7 +8699,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
839 exit (0); }
840
841 EOF
842-if { (eval echo configure:8699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
843+if { (eval echo configure:8703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
844 then
845 :
846 else
847@@ -8722,12 +8726,12 @@ EOF
848 fi
849
850 echo $ac_n "checking for working const""... $ac_c" 1>&6
851-echo "configure:8726: checking for working const" >&5
852+echo "configure:8730: checking for working const" >&5
853 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
854 echo $ac_n "(cached) $ac_c" 1>&6
855 else
856 cat > conftest.$ac_ext <<EOF
857-#line 8731 "configure"
858+#line 8735 "configure"
859 #include "confdefs.h"
860
861 int main() {
862@@ -8776,7 +8780,7 @@ ccp = (char const *const *) p;
863
864 ; return 0; }
865 EOF
866-if { (eval echo configure:8780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
867+if { (eval echo configure:8784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
868 rm -rf conftest*
869 ac_cv_c_const=yes
870 else
871@@ -8800,12 +8804,12 @@ EOF
872 fi
873
874 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
875-echo "configure:8804: checking for mode_t" >&5
876+echo "configure:8808: checking for mode_t" >&5
877 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
878 echo $ac_n "(cached) $ac_c" 1>&6
879 else
880 cat > conftest.$ac_ext <<EOF
881-#line 8809 "configure"
882+#line 8813 "configure"
883 #include "confdefs.h"
884 #include <sys/types.h>
885 #if STDC_HEADERS
886@@ -8836,12 +8840,12 @@ EOF
887 fi
888
889 echo $ac_n "checking for off_t""... $ac_c" 1>&6
890-echo "configure:8840: checking for off_t" >&5
891+echo "configure:8844: checking for off_t" >&5
892 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
893 echo $ac_n "(cached) $ac_c" 1>&6
894 else
895 cat > conftest.$ac_ext <<EOF
896-#line 8845 "configure"
897+#line 8849 "configure"
898 #include "confdefs.h"
899 #include <sys/types.h>
900 #if STDC_HEADERS
901@@ -8872,12 +8876,12 @@ EOF
902 fi
903
904 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
905-echo "configure:8876: checking for pid_t" >&5
906+echo "configure:8880: checking for pid_t" >&5
907 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
908 echo $ac_n "(cached) $ac_c" 1>&6
909 else
910 cat > conftest.$ac_ext <<EOF
911-#line 8881 "configure"
912+#line 8885 "configure"
913 #include "confdefs.h"
914 #include <sys/types.h>
915 #if STDC_HEADERS
916@@ -8908,12 +8912,12 @@ EOF
917 fi
918
919 echo $ac_n "checking for size_t""... $ac_c" 1>&6
920-echo "configure:8912: checking for size_t" >&5
921+echo "configure:8916: checking for size_t" >&5
922 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
923 echo $ac_n "(cached) $ac_c" 1>&6
924 else
925 cat > conftest.$ac_ext <<EOF
926-#line 8917 "configure"
927+#line 8921 "configure"
928 #include "confdefs.h"
929 #include <sys/types.h>
930 #if STDC_HEADERS
931@@ -8951,12 +8955,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
932 cross_compiling=$ac_cv_prog_cxx_cross
933
934 echo $ac_n "checking for __stdcall""... $ac_c" 1>&6
935-echo "configure:8955: checking for __stdcall" >&5
936+echo "configure:8959: checking for __stdcall" >&5
937 if eval "test \"`echo '$''{'ac_cv___stdcall'+set}'`\" = set"; then
938 echo $ac_n "(cached) $ac_c" 1>&6
939 else
940 cat > conftest.$ac_ext <<EOF
941-#line 8960 "configure"
942+#line 8964 "configure"
943 #include "confdefs.h"
944 template <typename Method> struct foo;
945 template <> struct foo<void (*)()> {};
946@@ -8965,7 +8969,7 @@ int main() {
947
948 ; return 0; }
949 EOF
950-if { (eval echo configure:8969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
951+if { (eval echo configure:8973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
952 rm -rf conftest*
953 ac_cv___stdcall=true
954 else
955@@ -8997,12 +9001,12 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
956 cross_compiling=$ac_cv_prog_cc_cross
957
958 echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
959-echo "configure:9001: checking for ssize_t" >&5
960+echo "configure:9005: checking for ssize_t" >&5
961 if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then
962 echo $ac_n "(cached) $ac_c" 1>&6
963 else
964 cat > conftest.$ac_ext <<EOF
965-#line 9006 "configure"
966+#line 9010 "configure"
967 #include "confdefs.h"
968 #include <stdio.h>
969 #include <sys/types.h>
970@@ -9010,7 +9014,7 @@ int main() {
971 ssize_t foo = 0;
972 ; return 0; }
973 EOF
974-if { (eval echo configure:9014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
975+if { (eval echo configure:9018: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
976 rm -rf conftest*
977 ac_cv_type_ssize_t=true
978 else
979@@ -9035,12 +9039,12 @@ else
980 echo "$ac_t""no" 1>&6
981 fi
982 echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
983-echo "configure:9039: checking for st_blksize in struct stat" >&5
984+echo "configure:9043: checking for st_blksize in struct stat" >&5
985 if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
986 echo $ac_n "(cached) $ac_c" 1>&6
987 else
988 cat > conftest.$ac_ext <<EOF
989-#line 9044 "configure"
990+#line 9048 "configure"
991 #include "confdefs.h"
992 #include <sys/types.h>
993 #include <sys/stat.h>
994@@ -9048,7 +9052,7 @@ int main() {
995 struct stat s; s.st_blksize;
996 ; return 0; }
997 EOF
998-if { (eval echo configure:9052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
999+if { (eval echo configure:9056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1000 rm -rf conftest*
1001 ac_cv_struct_st_blksize=yes
1002 else
1003@@ -9072,12 +9076,12 @@ EOF
1004 fi
1005
1006 echo $ac_n "checking for siginfo_t""... $ac_c" 1>&6
1007-echo "configure:9076: checking for siginfo_t" >&5
1008+echo "configure:9080: checking for siginfo_t" >&5
1009 if eval "test \"`echo '$''{'ac_cv_siginfo_t'+set}'`\" = set"; then
1010 echo $ac_n "(cached) $ac_c" 1>&6
1011 else
1012 cat > conftest.$ac_ext <<EOF
1013-#line 9081 "configure"
1014+#line 9085 "configure"
1015 #include "confdefs.h"
1016 #define _POSIX_C_SOURCE 199506L
1017 #include <signal.h>
1018@@ -9085,7 +9089,7 @@ int main() {
1019 siginfo_t* info;
1020 ; return 0; }
1021 EOF
1022-if { (eval echo configure:9089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1023+if { (eval echo configure:9093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1024 rm -rf conftest*
1025 ac_cv_siginfo_t=true
1026 else
1027@@ -9111,72 +9115,8 @@ else
1028 fi
1029
1030
1031-echo $ac_n "checking for the size of void*""... $ac_c" 1>&6
1032-echo "configure:9116: checking for the size of void*" >&5
1033-if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_WORD'+set}'`\" = set"; then
1034- echo $ac_n "(cached) $ac_c" 1>&6
1035-else
1036-
1037- moz_cv_size_of_JS_BYTES_PER_WORD=
1038- for size in 4 8; do
1039- cat > conftest.$ac_ext <<EOF
1040-#line 9124 "configure"
1041-#include "confdefs.h"
1042-
1043-int main() {
1044-
1045- int a[sizeof (void*) == $size ? 1 : -1];
1046- return 0;
1047-
1048-; return 0; }
1049-EOF
1050-if { (eval echo configure:9134: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1051- rm -rf conftest*
1052- moz_cv_size_of_JS_BYTES_PER_WORD=$size; break
1053-else
1054- echo "configure: failed program was:" >&5
1055- cat conftest.$ac_ext >&5
1056-fi
1057-rm -f conftest*
1058- done
1059- if test ! "$moz_cv_size_of_JS_BYTES_PER_WORD"; then
1060- { echo "configure: error: No size found for void*" 1>&2; exit 1; }
1061- fi
1062-
1063-fi
1064-
1065-echo "$ac_t""$moz_cv_size_of_JS_BYTES_PER_WORD" 1>&6
1066-cat >> confdefs.pytmp <<EOF
1067- (''' JS_BYTES_PER_WORD ''', r''' $moz_cv_size_of_JS_BYTES_PER_WORD ''')
1068-EOF
1069-cat >> confdefs.h <<EOF
1070-#define JS_BYTES_PER_WORD $moz_cv_size_of_JS_BYTES_PER_WORD
1071-EOF
1072-
1073-
1074-if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then
1075- cat >> confdefs.pytmp <<\EOF
1076- (''' JS_BITS_PER_WORD_LOG2 ''', r''' 5 ''')
1077-EOF
1078-cat >> confdefs.h <<\EOF
1079-#define JS_BITS_PER_WORD_LOG2 5
1080-EOF
1081-
1082-elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then
1083- cat >> confdefs.pytmp <<\EOF
1084- (''' JS_BITS_PER_WORD_LOG2 ''', r''' 6 ''')
1085-EOF
1086-cat >> confdefs.h <<\EOF
1087-#define JS_BITS_PER_WORD_LOG2 6
1088-EOF
1089-
1090-else
1091- { echo "configure: error: Unexpected JS_BYTES_PER_WORD" 1>&2; exit 1; }
1092-fi
1093-
1094-
1095 echo $ac_n "checking for the alignment of void*""... $ac_c" 1>&6
1096-echo "configure:9180: checking for the alignment of void*" >&5
1097+echo "configure:9120: checking for the alignment of void*" >&5
1098 if eval "test \"`echo '$''{'moz_cv_align_of_JS_ALIGN_OF_POINTER'+set}'`\" = set"; then
1099 echo $ac_n "(cached) $ac_c" 1>&6
1100 else
1101@@ -9184,7 +9124,7 @@ else
1102 moz_cv_align_of_JS_ALIGN_OF_POINTER=
1103 for align in 2 4 8 16; do
1104 cat > conftest.$ac_ext <<EOF
1105-#line 9188 "configure"
1106+#line 9128 "configure"
1107 #include "confdefs.h"
1108
1109 #include <stddef.h>
1110@@ -9197,7 +9137,7 @@ int main() {
1111
1112 ; return 0; }
1113 EOF
1114-if { (eval echo configure:9201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1115+if { (eval echo configure:9141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1116 rm -rf conftest*
1117 moz_cv_align_of_JS_ALIGN_OF_POINTER=$align; break
1118 else
1119@@ -9223,7 +9163,7 @@ EOF
1120
1121
1122 echo $ac_n "checking for the size of double""... $ac_c" 1>&6
1123-echo "configure:9227: checking for the size of double" >&5
1124+echo "configure:9167: checking for the size of double" >&5
1125 if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_DOUBLE'+set}'`\" = set"; then
1126 echo $ac_n "(cached) $ac_c" 1>&6
1127 else
1128@@ -9231,7 +9171,7 @@ else
1129 moz_cv_size_of_JS_BYTES_PER_DOUBLE=
1130 for size in 6 8 10 12 14; do
1131 cat > conftest.$ac_ext <<EOF
1132-#line 9235 "configure"
1133+#line 9175 "configure"
1134 #include "confdefs.h"
1135
1136 int main() {
1137@@ -9241,7 +9181,7 @@ int main() {
1138
1139 ; return 0; }
1140 EOF
1141-if { (eval echo configure:9245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1142+if { (eval echo configure:9185: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1143 rm -rf conftest*
1144 moz_cv_size_of_JS_BYTES_PER_DOUBLE=$size; break
1145 else
1146@@ -9270,12 +9210,12 @@ EOF
1147 do
1148 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1149 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1150-echo "configure:9274: checking for $ac_hdr" >&5
1151+echo "configure:9214: checking for $ac_hdr" >&5
1152 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1153 echo $ac_n "(cached) $ac_c" 1>&6
1154 else
1155 cat > conftest.$ac_ext <<EOF
1156-#line 9279 "configure"
1157+#line 9219 "configure"
1158 #include "confdefs.h"
1159
1160 #include <$ac_hdr>
1161@@ -9283,7 +9223,7 @@ int main() {
1162
1163 ; return 0; }
1164 EOF
1165-if { (eval echo configure:9287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1166+if { (eval echo configure:9227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1167 rm -rf conftest*
1168 eval "ac_cv_header_$ac_safe=yes"
1169 else
1170@@ -9326,12 +9266,12 @@ fi
1171 do
1172 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1173 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1174-echo "configure:9330: checking for $ac_hdr" >&5
1175+echo "configure:9270: checking for $ac_hdr" >&5
1176 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1177 echo $ac_n "(cached) $ac_c" 1>&6
1178 else
1179 cat > conftest.$ac_ext <<EOF
1180-#line 9335 "configure"
1181+#line 9275 "configure"
1182 #include "confdefs.h"
1183 #include <sys/types.h>
1184 #include <$ac_hdr>
1185@@ -9339,7 +9279,7 @@ int main() {
1186
1187 ; return 0; }
1188 EOF
1189-if { (eval echo configure:9343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1190+if { (eval echo configure:9283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1191 rm -rf conftest*
1192 eval "ac_cv_header_$ac_safe=yes"
1193 else
1194@@ -9382,12 +9322,12 @@ fi
1195 do
1196 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1197 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1198-echo "configure:9386: checking for $ac_hdr" >&5
1199+echo "configure:9326: checking for $ac_hdr" >&5
1200 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1201 echo $ac_n "(cached) $ac_c" 1>&6
1202 else
1203 cat > conftest.$ac_ext <<EOF
1204-#line 9391 "configure"
1205+#line 9331 "configure"
1206 #include "confdefs.h"
1207
1208 #include <$ac_hdr>
1209@@ -9395,7 +9335,7 @@ int main() {
1210
1211 ; return 0; }
1212 EOF
1213-if { (eval echo configure:9399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1214+if { (eval echo configure:9339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1215 rm -rf conftest*
1216 eval "ac_cv_header_$ac_safe=yes"
1217 else
1218@@ -9435,12 +9375,12 @@ EOF
1219 fi
1220
1221 echo $ac_n "checking for uint""... $ac_c" 1>&6
1222-echo "configure:9439: checking for uint" >&5
1223+echo "configure:9379: checking for uint" >&5
1224 if eval "test \"`echo '$''{'ac_cv_uint'+set}'`\" = set"; then
1225 echo $ac_n "(cached) $ac_c" 1>&6
1226 else
1227 cat > conftest.$ac_ext <<EOF
1228-#line 9444 "configure"
1229+#line 9384 "configure"
1230 #include "confdefs.h"
1231 #include <stdio.h>
1232 #include <sys/types.h>
1233@@ -9448,7 +9388,7 @@ int main() {
1234 uint foo = 0;
1235 ; return 0; }
1236 EOF
1237-if { (eval echo configure:9452: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1238+if { (eval echo configure:9392: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1239 rm -rf conftest*
1240 ac_cv_uint=true
1241 else
1242@@ -9473,12 +9413,12 @@ else
1243 echo "$ac_t""no" 1>&6
1244 fi
1245 echo $ac_n "checking for uint_t""... $ac_c" 1>&6
1246-echo "configure:9477: checking for uint_t" >&5
1247+echo "configure:9417: checking for uint_t" >&5
1248 if eval "test \"`echo '$''{'ac_cv_uint_t'+set}'`\" = set"; then
1249 echo $ac_n "(cached) $ac_c" 1>&6
1250 else
1251 cat > conftest.$ac_ext <<EOF
1252-#line 9482 "configure"
1253+#line 9422 "configure"
1254 #include "confdefs.h"
1255 #include <stdio.h>
1256 #include <sys/types.h>
1257@@ -9486,7 +9426,7 @@ int main() {
1258 uint_t foo = 0;
1259 ; return 0; }
1260 EOF
1261-if { (eval echo configure:9490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1262+if { (eval echo configure:9430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1263 rm -rf conftest*
1264 ac_cv_uint_t=true
1265 else
1266@@ -9520,12 +9460,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
1267
1268
1269 echo $ac_n "checking for uname.domainname""... $ac_c" 1>&6
1270-echo "configure:9524: checking for uname.domainname" >&5
1271+echo "configure:9464: checking for uname.domainname" >&5
1272 if eval "test \"`echo '$''{'ac_cv_have_uname_domainname_field'+set}'`\" = set"; then
1273 echo $ac_n "(cached) $ac_c" 1>&6
1274 else
1275 cat > conftest.$ac_ext <<EOF
1276-#line 9529 "configure"
1277+#line 9469 "configure"
1278 #include "confdefs.h"
1279 #include <sys/utsname.h>
1280 int main() {
1281@@ -9533,7 +9473,7 @@ int main() {
1282 (void)uname(res); if (res != 0) { domain = res->domainname; }
1283 ; return 0; }
1284 EOF
1285-if { (eval echo configure:9537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1286+if { (eval echo configure:9477: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1287 rm -rf conftest*
1288 ac_cv_have_uname_domainname_field=true
1289 else
1290@@ -9560,12 +9500,12 @@ else
1291 fi
1292
1293 echo $ac_n "checking for uname.__domainname""... $ac_c" 1>&6
1294-echo "configure:9564: checking for uname.__domainname" >&5
1295+echo "configure:9504: checking for uname.__domainname" >&5
1296 if eval "test \"`echo '$''{'ac_cv_have_uname_us_domainname_field'+set}'`\" = set"; then
1297 echo $ac_n "(cached) $ac_c" 1>&6
1298 else
1299 cat > conftest.$ac_ext <<EOF
1300-#line 9569 "configure"
1301+#line 9509 "configure"
1302 #include "confdefs.h"
1303 #include <sys/utsname.h>
1304 int main() {
1305@@ -9573,7 +9513,7 @@ int main() {
1306 (void)uname(res); if (res != 0) { domain = res->__domainname; }
1307 ; return 0; }
1308 EOF
1309-if { (eval echo configure:9577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1310+if { (eval echo configure:9517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1311 rm -rf conftest*
1312 ac_cv_have_uname_us_domainname_field=true
1313 else
1314@@ -9609,7 +9549,7 @@ cross_compiling=$ac_cv_prog_cc_cross
1315
1316 if test "$GNU_CC"; then
1317 echo $ac_n "checking for visibility(hidden) attribute""... $ac_c" 1>&6
1318-echo "configure:9613: checking for visibility(hidden) attribute" >&5
1319+echo "configure:9553: checking for visibility(hidden) attribute" >&5
1320 if eval "test \"`echo '$''{'ac_cv_visibility_hidden'+set}'`\" = set"; then
1321 echo $ac_n "(cached) $ac_c" 1>&6
1322 else
1323@@ -9637,7 +9577,7 @@ EOF
1324
1325
1326 echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6
1327-echo "configure:9641: checking for visibility(default) attribute" >&5
1328+echo "configure:9581: checking for visibility(default) attribute" >&5
1329 if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then
1330 echo $ac_n "(cached) $ac_c" 1>&6
1331 else
1332@@ -9665,7 +9605,7 @@ EOF
1333
1334
1335 echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6
1336-echo "configure:9669: checking for visibility pragma support" >&5
1337+echo "configure:9609: checking for visibility pragma support" >&5
1338 if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then
1339 echo $ac_n "(cached) $ac_c" 1>&6
1340 else
1341@@ -9690,7 +9630,7 @@ fi
1342 echo "$ac_t""$ac_cv_visibility_pragma" 1>&6
1343 if test "$ac_cv_visibility_pragma" = "yes"; then
1344 echo $ac_n "checking For gcc visibility bug with class-level attributes (GCC bug 26905)""... $ac_c" 1>&6
1345-echo "configure:9694: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
1346+echo "configure:9634: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
1347 if eval "test \"`echo '$''{'ac_cv_have_visibility_class_bug'+set}'`\" = set"; then
1348 echo $ac_n "(cached) $ac_c" 1>&6
1349 else
1350@@ -9718,7 +9658,7 @@ fi
1351 echo "$ac_t""$ac_cv_have_visibility_class_bug" 1>&6
1352
1353 echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6
1354-echo "configure:9722: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
1355+echo "configure:9662: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
1356 if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then
1357 echo $ac_n "(cached) $ac_c" 1>&6
1358 else
1359@@ -9770,7 +9710,7 @@ fi # Sun Studio on Solaris
1360 if test "$GNU_CC"; then
1361
1362 echo $ac_n "checking for gcc PR49911""... $ac_c" 1>&6
1363-echo "configure:9774: checking for gcc PR49911" >&5
1364+echo "configure:9714: checking for gcc PR49911" >&5
1365 ac_have_gcc_pr49911="no"
1366
1367 ac_ext=C
1368@@ -9787,7 +9727,7 @@ if test "$cross_compiling" = yes; then
1369 true
1370 else
1371 cat > conftest.$ac_ext <<EOF
1372-#line 9791 "configure"
1373+#line 9731 "configure"
1374 #include "confdefs.h"
1375
1376 extern "C" void abort(void);
1377@@ -9828,7 +9768,7 @@ int main(void) {
1378 }
1379
1380 EOF
1381-if { (eval echo configure:9832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
1382+if { (eval echo configure:9772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
1383 then
1384 true
1385 else
1386@@ -9865,12 +9805,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
1387 do
1388 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1389 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
1390-echo "configure:9869: checking for $ac_hdr that defines DIR" >&5
1391+echo "configure:9809: checking for $ac_hdr that defines DIR" >&5
1392 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
1393 echo $ac_n "(cached) $ac_c" 1>&6
1394 else
1395 cat > conftest.$ac_ext <<EOF
1396-#line 9874 "configure"
1397+#line 9814 "configure"
1398 #include "confdefs.h"
1399 #include <sys/types.h>
1400 #include <$ac_hdr>
1401@@ -9878,7 +9818,7 @@ int main() {
1402 DIR *dirp = 0;
1403 ; return 0; }
1404 EOF
1405-if { (eval echo configure:9882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1406+if { (eval echo configure:9822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1407 rm -rf conftest*
1408 eval "ac_cv_header_dirent_$ac_safe=yes"
1409 else
1410@@ -9906,7 +9846,7 @@ done
1411 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
1412 if test $ac_header_dirent = dirent.h; then
1413 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
1414-echo "configure:9910: checking for opendir in -ldir" >&5
1415+echo "configure:9850: checking for opendir in -ldir" >&5
1416 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
1417 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
1418 echo $ac_n "(cached) $ac_c" 1>&6
1419@@ -9914,7 +9854,7 @@ else
1420 ac_save_LIBS="$LIBS"
1421 LIBS="-ldir $LIBS"
1422 cat > conftest.$ac_ext <<EOF
1423-#line 9918 "configure"
1424+#line 9858 "configure"
1425 #include "confdefs.h"
1426 /* Override any gcc2 internal prototype to avoid an error. */
1427 /* We use char because int might match the return type of a gcc2
1428@@ -9925,7 +9865,7 @@ int main() {
1429 opendir()
1430 ; return 0; }
1431 EOF
1432-if { (eval echo configure:9929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1433+if { (eval echo configure:9869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1434 rm -rf conftest*
1435 eval "ac_cv_lib_$ac_lib_var=yes"
1436 else
1437@@ -9947,7 +9887,7 @@ fi
1438
1439 else
1440 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
1441-echo "configure:9951: checking for opendir in -lx" >&5
1442+echo "configure:9891: checking for opendir in -lx" >&5
1443 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
1444 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
1445 echo $ac_n "(cached) $ac_c" 1>&6
1446@@ -9955,7 +9895,7 @@ else
1447 ac_save_LIBS="$LIBS"
1448 LIBS="-lx $LIBS"
1449 cat > conftest.$ac_ext <<EOF
1450-#line 9959 "configure"
1451+#line 9899 "configure"
1452 #include "confdefs.h"
1453 /* Override any gcc2 internal prototype to avoid an error. */
1454 /* We use char because int might match the return type of a gcc2
1455@@ -9966,7 +9906,7 @@ int main() {
1456 opendir()
1457 ; return 0; }
1458 EOF
1459-if { (eval echo configure:9970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1460+if { (eval echo configure:9910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1461 rm -rf conftest*
1462 eval "ac_cv_lib_$ac_lib_var=yes"
1463 else
1464@@ -10000,12 +9940,12 @@ esac
1465 do
1466 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1467 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1468-echo "configure:10004: checking for $ac_hdr" >&5
1469+echo "configure:9944: checking for $ac_hdr" >&5
1470 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1471 echo $ac_n "(cached) $ac_c" 1>&6
1472 else
1473 cat > conftest.$ac_ext <<EOF
1474-#line 10009 "configure"
1475+#line 9949 "configure"
1476 #include "confdefs.h"
1477
1478 #include <$ac_hdr>
1479@@ -10013,7 +9953,7 @@ int main() {
1480
1481 ; return 0; }
1482 EOF
1483-if { (eval echo configure:10017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1484+if { (eval echo configure:9957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1485 rm -rf conftest*
1486 eval "ac_cv_header_$ac_safe=yes"
1487 else
1488@@ -10048,12 +9988,12 @@ EOF
1489 do
1490 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1491 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1492-echo "configure:10052: checking for $ac_hdr" >&5
1493+echo "configure:9992: checking for $ac_hdr" >&5
1494 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1495 echo $ac_n "(cached) $ac_c" 1>&6
1496 else
1497 cat > conftest.$ac_ext <<EOF
1498-#line 10057 "configure"
1499+#line 9997 "configure"
1500 #include "confdefs.h"
1501
1502 #include <$ac_hdr>
1503@@ -10061,7 +10001,7 @@ int main() {
1504
1505 ; return 0; }
1506 EOF
1507-if { (eval echo configure:10065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1508+if { (eval echo configure:10005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1509 rm -rf conftest*
1510 eval "ac_cv_header_$ac_safe=yes"
1511 else
1512@@ -10095,12 +10035,12 @@ EOF
1513 do
1514 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1515 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1516-echo "configure:10099: checking for $ac_hdr" >&5
1517+echo "configure:10039: checking for $ac_hdr" >&5
1518 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1519 echo $ac_n "(cached) $ac_c" 1>&6
1520 else
1521 cat > conftest.$ac_ext <<EOF
1522-#line 10104 "configure"
1523+#line 10044 "configure"
1524 #include "confdefs.h"
1525
1526 #include <$ac_hdr>
1527@@ -10108,7 +10048,7 @@ int main() {
1528
1529 ; return 0; }
1530 EOF
1531-if { (eval echo configure:10112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1532+if { (eval echo configure:10052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1533 rm -rf conftest*
1534 eval "ac_cv_header_$ac_safe=yes"
1535 else
1536@@ -10141,12 +10081,12 @@ EOF
1537 do
1538 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1539 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1540-echo "configure:10145: checking for $ac_hdr" >&5
1541+echo "configure:10085: checking for $ac_hdr" >&5
1542 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1543 echo $ac_n "(cached) $ac_c" 1>&6
1544 else
1545 cat > conftest.$ac_ext <<EOF
1546-#line 10150 "configure"
1547+#line 10090 "configure"
1548 #include "confdefs.h"
1549
1550 #include <$ac_hdr>
1551@@ -10154,7 +10094,7 @@ int main() {
1552
1553 ; return 0; }
1554 EOF
1555-if { (eval echo configure:10158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1556+if { (eval echo configure:10098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1557 rm -rf conftest*
1558 eval "ac_cv_header_$ac_safe=yes"
1559 else
1560@@ -10188,12 +10128,12 @@ EOF
1561 do
1562 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1563 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1564-echo "configure:10192: checking for $ac_hdr" >&5
1565+echo "configure:10132: checking for $ac_hdr" >&5
1566 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1567 echo $ac_n "(cached) $ac_c" 1>&6
1568 else
1569 cat > conftest.$ac_ext <<EOF
1570-#line 10197 "configure"
1571+#line 10137 "configure"
1572 #include "confdefs.h"
1573
1574 #include <$ac_hdr>
1575@@ -10201,7 +10141,7 @@ int main() {
1576
1577 ; return 0; }
1578 EOF
1579-if { (eval echo configure:10205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1580+if { (eval echo configure:10145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1581 rm -rf conftest*
1582 eval "ac_cv_header_$ac_safe=yes"
1583 else
1584@@ -10241,12 +10181,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
1585 NEW_H=new.h
1586 ac_safe=`echo "new" | sed 'y%./+-%__p_%'`
1587 echo $ac_n "checking for new""... $ac_c" 1>&6
1588-echo "configure:10245: checking for new" >&5
1589+echo "configure:10185: checking for new" >&5
1590 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1591 echo $ac_n "(cached) $ac_c" 1>&6
1592 else
1593 cat > conftest.$ac_ext <<EOF
1594-#line 10250 "configure"
1595+#line 10190 "configure"
1596 #include "confdefs.h"
1597
1598 #include <new>
1599@@ -10254,7 +10194,7 @@ int main() {
1600
1601 ; return 0; }
1602 EOF
1603-if { (eval echo configure:10258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1604+if { (eval echo configure:10198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1605 rm -rf conftest*
1606 eval "ac_cv_header_$ac_safe=yes"
1607 else
1608@@ -10298,12 +10238,12 @@ fi
1609 if test "x$enable_dtrace" = "xyes"; then
1610 ac_safe=`echo "sys/sdt.h" | sed 'y%./+-%__p_%'`
1611 echo $ac_n "checking for sys/sdt.h""... $ac_c" 1>&6
1612-echo "configure:10302: checking for sys/sdt.h" >&5
1613+echo "configure:10242: checking for sys/sdt.h" >&5
1614 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1615 echo $ac_n "(cached) $ac_c" 1>&6
1616 else
1617 cat > conftest.$ac_ext <<EOF
1618-#line 10307 "configure"
1619+#line 10247 "configure"
1620 #include "confdefs.h"
1621
1622 #include <sys/sdt.h>
1623@@ -10311,7 +10251,7 @@ int main() {
1624
1625 ; return 0; }
1626 EOF
1627-if { (eval echo configure:10315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1628+if { (eval echo configure:10255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1629 rm -rf conftest*
1630 eval "ac_cv_header_$ac_safe=yes"
1631 else
1632@@ -10353,12 +10293,12 @@ case $target in
1633 do
1634 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1635 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1636-echo "configure:10357: checking for $ac_hdr" >&5
1637+echo "configure:10297: checking for $ac_hdr" >&5
1638 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1639 echo $ac_n "(cached) $ac_c" 1>&6
1640 else
1641 cat > conftest.$ac_ext <<EOF
1642-#line 10362 "configure"
1643+#line 10302 "configure"
1644 #include "confdefs.h"
1645
1646 #include <$ac_hdr>
1647@@ -10366,7 +10306,7 @@ int main() {
1648
1649 ; return 0; }
1650 EOF
1651-if { (eval echo configure:10370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1652+if { (eval echo configure:10310: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1653 rm -rf conftest*
1654 eval "ac_cv_header_$ac_safe=yes"
1655 else
1656@@ -10418,12 +10358,12 @@ CFLAGS="$CFLAGS $LINUX_HEADERS_INCLUDES"
1657
1658 ac_safe=`echo "linux/perf_event.h" | sed 'y%./+-%__p_%'`
1659 echo $ac_n "checking for linux/perf_event.h""... $ac_c" 1>&6
1660-echo "configure:10422: checking for linux/perf_event.h" >&5
1661+echo "configure:10362: checking for linux/perf_event.h" >&5
1662 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1663 echo $ac_n "(cached) $ac_c" 1>&6
1664 else
1665 cat > conftest.$ac_ext <<EOF
1666-#line 10427 "configure"
1667+#line 10367 "configure"
1668 #include "confdefs.h"
1669
1670 #include <linux/perf_event.h>
1671@@ -10431,7 +10371,7 @@ int main() {
1672
1673 ; return 0; }
1674 EOF
1675-if { (eval echo configure:10435: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1676+if { (eval echo configure:10375: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1677 rm -rf conftest*
1678 eval "ac_cv_header_$ac_safe=yes"
1679 else
1680@@ -10446,19 +10386,19 @@ fi
1681 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
1682 echo "$ac_t""yes" 1>&6
1683 echo $ac_n "checking for perf_event_open system call""... $ac_c" 1>&6
1684-echo "configure:10450: checking for perf_event_open system call" >&5
1685+echo "configure:10390: checking for perf_event_open system call" >&5
1686 if eval "test \"`echo '$''{'ac_cv_perf_event_open'+set}'`\" = set"; then
1687 echo $ac_n "(cached) $ac_c" 1>&6
1688 else
1689 cat > conftest.$ac_ext <<EOF
1690-#line 10455 "configure"
1691+#line 10395 "configure"
1692 #include "confdefs.h"
1693 #include <asm/unistd.h>
1694 int main() {
1695 return sizeof(__NR_perf_event_open);
1696 ; return 0; }
1697 EOF
1698-if { (eval echo configure:10462: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1699+if { (eval echo configure:10402: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1700 rm -rf conftest*
1701 ac_cv_perf_event_open=yes
1702 else
1703@@ -10494,7 +10434,7 @@ case $target in
1704 ;;
1705 *)
1706 echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6
1707-echo "configure:10498: checking for gethostbyname_r in -lc_r" >&5
1708+echo "configure:10438: checking for gethostbyname_r in -lc_r" >&5
1709 ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'`
1710 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
1711 echo $ac_n "(cached) $ac_c" 1>&6
1712@@ -10502,7 +10442,7 @@ else
1713 ac_save_LIBS="$LIBS"
1714 LIBS="-lc_r $LIBS"
1715 cat > conftest.$ac_ext <<EOF
1716-#line 10506 "configure"
1717+#line 10446 "configure"
1718 #include "confdefs.h"
1719 /* Override any gcc2 internal prototype to avoid an error. */
1720 /* We use char because int might match the return type of a gcc2
1721@@ -10513,7 +10453,7 @@ int main() {
1722 gethostbyname_r()
1723 ; return 0; }
1724 EOF
1725-if { (eval echo configure:10517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1726+if { (eval echo configure:10457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1727 rm -rf conftest*
1728 eval "ac_cv_lib_$ac_lib_var=yes"
1729 else
1730@@ -10554,14 +10494,14 @@ case $target in
1731 *)
1732
1733 echo $ac_n "checking for library containing dlopen""... $ac_c" 1>&6
1734-echo "configure:10558: checking for library containing dlopen" >&5
1735+echo "configure:10498: checking for library containing dlopen" >&5
1736 if eval "test \"`echo '$''{'ac_cv_search_dlopen'+set}'`\" = set"; then
1737 echo $ac_n "(cached) $ac_c" 1>&6
1738 else
1739 ac_func_search_save_LIBS="$LIBS"
1740 ac_cv_search_dlopen="no"
1741 cat > conftest.$ac_ext <<EOF
1742-#line 10565 "configure"
1743+#line 10505 "configure"
1744 #include "confdefs.h"
1745 /* Override any gcc2 internal prototype to avoid an error. */
1746 /* We use char because int might match the return type of a gcc2
1747@@ -10572,7 +10512,7 @@ int main() {
1748 dlopen()
1749 ; return 0; }
1750 EOF
1751-if { (eval echo configure:10576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1752+if { (eval echo configure:10516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1753 rm -rf conftest*
1754 ac_cv_search_dlopen="none required"
1755 else
1756@@ -10583,7 +10523,7 @@ rm -f conftest*
1757 test "$ac_cv_search_dlopen" = "no" && for i in dl; do
1758 LIBS="-l$i $ac_func_search_save_LIBS"
1759 cat > conftest.$ac_ext <<EOF
1760-#line 10587 "configure"
1761+#line 10527 "configure"
1762 #include "confdefs.h"
1763 /* Override any gcc2 internal prototype to avoid an error. */
1764 /* We use char because int might match the return type of a gcc2
1765@@ -10594,7 +10534,7 @@ int main() {
1766 dlopen()
1767 ; return 0; }
1768 EOF
1769-if { (eval echo configure:10598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1770+if { (eval echo configure:10538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1771 rm -rf conftest*
1772 ac_cv_search_dlopen="-l$i"
1773 break
1774@@ -10612,12 +10552,12 @@ if test "$ac_cv_search_dlopen" != "no"; then
1775 test "$ac_cv_search_dlopen" = "none required" || LIBS="$ac_cv_search_dlopen $LIBS"
1776 ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
1777 echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
1778-echo "configure:10616: checking for dlfcn.h" >&5
1779+echo "configure:10556: checking for dlfcn.h" >&5
1780 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1781 echo $ac_n "(cached) $ac_c" 1>&6
1782 else
1783 cat > conftest.$ac_ext <<EOF
1784-#line 10621 "configure"
1785+#line 10561 "configure"
1786 #include "confdefs.h"
1787
1788 #include <dlfcn.h>
1789@@ -10625,7 +10565,7 @@ int main() {
1790
1791 ; return 0; }
1792 EOF
1793-if { (eval echo configure:10629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1794+if { (eval echo configure:10569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1795 rm -rf conftest*
1796 eval "ac_cv_header_$ac_safe=yes"
1797 else
1798@@ -10662,12 +10602,12 @@ CFLAGS="$CFLAGS -D_GNU_SOURCE"
1799 for ac_func in dladdr
1800 do
1801 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
1802-echo "configure:10666: checking for $ac_func" >&5
1803+echo "configure:10606: checking for $ac_func" >&5
1804 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
1805 echo $ac_n "(cached) $ac_c" 1>&6
1806 else
1807 cat > conftest.$ac_ext <<EOF
1808-#line 10671 "configure"
1809+#line 10611 "configure"
1810 #include "confdefs.h"
1811 /* System header to define __stub macros and hopefully few prototypes,
1812 which can conflict with char $ac_func(); below. */
1813@@ -10690,7 +10630,7 @@ $ac_func();
1814
1815 ; return 0; }
1816 EOF
1817-if { (eval echo configure:10694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1818+if { (eval echo configure:10634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1819 rm -rf conftest*
1820 eval "ac_cv_func_$ac_func=yes"
1821 else
1822@@ -10724,7 +10664,7 @@ if test ! "$GNU_CXX"; then
1823 case $target in
1824 *-aix*)
1825 echo $ac_n "checking for demangle in -lC_r""... $ac_c" 1>&6
1826-echo "configure:10728: checking for demangle in -lC_r" >&5
1827+echo "configure:10668: checking for demangle in -lC_r" >&5
1828 ac_lib_var=`echo C_r'_'demangle | sed 'y%./+-%__p_%'`
1829 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
1830 echo $ac_n "(cached) $ac_c" 1>&6
1831@@ -10732,7 +10672,7 @@ else
1832 ac_save_LIBS="$LIBS"
1833 LIBS="-lC_r $LIBS"
1834 cat > conftest.$ac_ext <<EOF
1835-#line 10736 "configure"
1836+#line 10676 "configure"
1837 #include "confdefs.h"
1838 /* Override any gcc2 internal prototype to avoid an error. */
1839 /* We use char because int might match the return type of a gcc2
1840@@ -10743,7 +10683,7 @@ int main() {
1841 demangle()
1842 ; return 0; }
1843 EOF
1844-if { (eval echo configure:10747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1845+if { (eval echo configure:10687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1846 rm -rf conftest*
1847 eval "ac_cv_lib_$ac_lib_var=yes"
1848 else
1849@@ -10776,7 +10716,7 @@ fi
1850 ;;
1851 *)
1852 echo $ac_n "checking for demangle in -lC""... $ac_c" 1>&6
1853-echo "configure:10780: checking for demangle in -lC" >&5
1854+echo "configure:10720: checking for demangle in -lC" >&5
1855 ac_lib_var=`echo C'_'demangle | sed 'y%./+-%__p_%'`
1856 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
1857 echo $ac_n "(cached) $ac_c" 1>&6
1858@@ -10784,7 +10724,7 @@ else
1859 ac_save_LIBS="$LIBS"
1860 LIBS="-lC $LIBS"
1861 cat > conftest.$ac_ext <<EOF
1862-#line 10788 "configure"
1863+#line 10728 "configure"
1864 #include "confdefs.h"
1865 /* Override any gcc2 internal prototype to avoid an error. */
1866 /* We use char because int might match the return type of a gcc2
1867@@ -10795,7 +10735,7 @@ int main() {
1868 demangle()
1869 ; return 0; }
1870 EOF
1871-if { (eval echo configure:10799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1872+if { (eval echo configure:10739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1873 rm -rf conftest*
1874 eval "ac_cv_lib_$ac_lib_var=yes"
1875 else
1876@@ -10834,7 +10774,7 @@ case $target in
1877 ;;
1878 *)
1879 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
1880-echo "configure:10838: checking for socket in -lsocket" >&5
1881+echo "configure:10778: checking for socket in -lsocket" >&5
1882 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
1883 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
1884 echo $ac_n "(cached) $ac_c" 1>&6
1885@@ -10842,7 +10782,7 @@ else
1886 ac_save_LIBS="$LIBS"
1887 LIBS="-lsocket $LIBS"
1888 cat > conftest.$ac_ext <<EOF
1889-#line 10846 "configure"
1890+#line 10786 "configure"
1891 #include "confdefs.h"
1892 /* Override any gcc2 internal prototype to avoid an error. */
1893 /* We use char because int might match the return type of a gcc2
1894@@ -10853,7 +10793,7 @@ int main() {
1895 socket()
1896 ; return 0; }
1897 EOF
1898-if { (eval echo configure:10857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1899+if { (eval echo configure:10797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1900 rm -rf conftest*
1901 eval "ac_cv_lib_$ac_lib_var=yes"
1902 else
1903@@ -10892,7 +10832,7 @@ darwin*)
1904 *)
1905
1906 echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
1907-echo "configure:10896: checking for pthread_create in -lpthreads" >&5
1908+echo "configure:10836: checking for pthread_create in -lpthreads" >&5
1909 echo "
1910 #include <pthread.h>
1911 #include <stdlib.h>
1912@@ -10915,7 +10855,7 @@ echo "
1913 echo "$ac_t""no" 1>&6
1914
1915 echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
1916-echo "configure:10919: checking for pthread_create in -lpthread" >&5
1917+echo "configure:10859: checking for pthread_create in -lpthread" >&5
1918 echo "
1919 #include <pthread.h>
1920 #include <stdlib.h>
1921@@ -10938,7 +10878,7 @@ echo "
1922 echo "$ac_t""no" 1>&6
1923
1924 echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6
1925-echo "configure:10942: checking for pthread_create in -lc_r" >&5
1926+echo "configure:10882: checking for pthread_create in -lc_r" >&5
1927 echo "
1928 #include <pthread.h>
1929 #include <stdlib.h>
1930@@ -10961,7 +10901,7 @@ echo "
1931 echo "$ac_t""no" 1>&6
1932
1933 echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6
1934-echo "configure:10965: checking for pthread_create in -lc" >&5
1935+echo "configure:10905: checking for pthread_create in -lc" >&5
1936 echo "
1937 #include <pthread.h>
1938 #include <stdlib.h>
1939@@ -11020,7 +10960,7 @@ then
1940 rm -f conftest*
1941 ac_cv_have_dash_pthread=no
1942 echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6
1943-echo "configure:11024: checking whether ${CC-cc} accepts -pthread" >&5
1944+echo "configure:10964: checking whether ${CC-cc} accepts -pthread" >&5
1945 echo 'int main() { return 0; }' | cat > conftest.c
1946 ${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
1947 if test $? -eq 0; then
1948@@ -11043,7 +10983,7 @@ echo "configure:11024: checking whether ${CC-cc} accepts -pthread" >&5
1949 ac_cv_have_dash_pthreads=no
1950 if test "$ac_cv_have_dash_pthread" = "no"; then
1951 echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6
1952-echo "configure:11047: checking whether ${CC-cc} accepts -pthreads" >&5
1953+echo "configure:10987: checking whether ${CC-cc} accepts -pthreads" >&5
1954 echo 'int main() { return 0; }' | cat > conftest.c
1955 ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
1956 if test $? -eq 0; then
1957@@ -11148,13 +11088,13 @@ fi
1958
1959 if test $ac_cv_prog_gcc = yes; then
1960 echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
1961-echo "configure:11152: checking whether ${CC-cc} needs -traditional" >&5
1962+echo "configure:11092: checking whether ${CC-cc} needs -traditional" >&5
1963 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
1964 echo $ac_n "(cached) $ac_c" 1>&6
1965 else
1966 ac_pattern="Autoconf.*'x'"
1967 cat > conftest.$ac_ext <<EOF
1968-#line 11158 "configure"
1969+#line 11098 "configure"
1970 #include "confdefs.h"
1971 #include <sgtty.h>
1972 Autoconf TIOCGETP
1973@@ -11172,7 +11112,7 @@ rm -f conftest*
1974
1975 if test $ac_cv_prog_gcc_traditional = no; then
1976 cat > conftest.$ac_ext <<EOF
1977-#line 11176 "configure"
1978+#line 11116 "configure"
1979 #include "confdefs.h"
1980 #include <termio.h>
1981 Autoconf TCGETA
1982@@ -11194,7 +11134,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
1983 fi
1984
1985 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
1986-echo "configure:11198: checking for 8-bit clean memcmp" >&5
1987+echo "configure:11138: checking for 8-bit clean memcmp" >&5
1988 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
1989 echo $ac_n "(cached) $ac_c" 1>&6
1990 else
1991@@ -11202,7 +11142,7 @@ else
1992 ac_cv_func_memcmp_clean=no
1993 else
1994 cat > conftest.$ac_ext <<EOF
1995-#line 11206 "configure"
1996+#line 11146 "configure"
1997 #include "confdefs.h"
1998
1999 main()
2000@@ -11212,7 +11152,7 @@ main()
2001 }
2002
2003 EOF
2004-if { (eval echo configure:11216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2005+if { (eval echo configure:11156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2006 then
2007 ac_cv_func_memcmp_clean=yes
2008 else
2009@@ -11234,12 +11174,12 @@ for ac_func in fchmod flockfile getc_unlocked _getc_nolock getpagesize \
2010 stat64 statvfs statvfs64 strerror strtok_r truncate64
2011 do
2012 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
2013-echo "configure:11238: checking for $ac_func" >&5
2014+echo "configure:11178: checking for $ac_func" >&5
2015 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
2016 echo $ac_n "(cached) $ac_c" 1>&6
2017 else
2018 cat > conftest.$ac_ext <<EOF
2019-#line 11243 "configure"
2020+#line 11183 "configure"
2021 #include "confdefs.h"
2022 /* System header to define __stub macros and hopefully few prototypes,
2023 which can conflict with char $ac_func(); below. */
2024@@ -11262,7 +11202,7 @@ $ac_func();
2025
2026 ; return 0; }
2027 EOF
2028-if { (eval echo configure:11266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2029+if { (eval echo configure:11206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2030 rm -rf conftest*
2031 eval "ac_cv_func_$ac_func=yes"
2032 else
2033@@ -11291,14 +11231,14 @@ done
2034
2035
2036 cat > conftest.$ac_ext <<EOF
2037-#line 11295 "configure"
2038+#line 11235 "configure"
2039 #include "confdefs.h"
2040 #include <windows.h>
2041 int main() {
2042 SYSTEMTIME st;FILETIME ft;SystemTimeToFileTime(&st,&ft);
2043 ; return 0; }
2044 EOF
2045-if { (eval echo configure:11302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2046+if { (eval echo configure:11242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2047 rm -rf conftest*
2048 ac_cv_have_systemtimetofiletime="yes"
2049 else
2050@@ -11318,14 +11258,14 @@ EOF
2051
2052 fi
2053 cat > conftest.$ac_ext <<EOF
2054-#line 11322 "configure"
2055+#line 11262 "configure"
2056 #include "confdefs.h"
2057 #include <windows.h>
2058 int main() {
2059 FILETIME ft;GetSystemTimeAsFileTime(&ft);
2060 ; return 0; }
2061 EOF
2062-if { (eval echo configure:11329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2063+if { (eval echo configure:11269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2064 rm -rf conftest*
2065 ac_cv_have_getsystemtimeasfiletime="yes"
2066 else
2067@@ -11355,19 +11295,19 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
2068 cross_compiling=$ac_cv_prog_cxx_cross
2069
2070 echo $ac_n "checking for wcrtomb""... $ac_c" 1>&6
2071-echo "configure:11359: checking for wcrtomb" >&5
2072+echo "configure:11299: checking for wcrtomb" >&5
2073 if eval "test \"`echo '$''{'ac_cv_have_wcrtomb'+set}'`\" = set"; then
2074 echo $ac_n "(cached) $ac_c" 1>&6
2075 else
2076 cat > conftest.$ac_ext <<EOF
2077-#line 11364 "configure"
2078+#line 11304 "configure"
2079 #include "confdefs.h"
2080 #include <wchar.h>
2081 int main() {
2082 mbstate_t ps={0};wcrtomb(0,'f',&ps);
2083 ; return 0; }
2084 EOF
2085-if { (eval echo configure:11371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2086+if { (eval echo configure:11311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2087 rm -rf conftest*
2088 ac_cv_have_wcrtomb="yes"
2089 else
2090@@ -11390,19 +11330,19 @@ EOF
2091
2092 fi
2093 echo $ac_n "checking for mbrtowc""... $ac_c" 1>&6
2094-echo "configure:11394: checking for mbrtowc" >&5
2095+echo "configure:11334: checking for mbrtowc" >&5
2096 if eval "test \"`echo '$''{'ac_cv_have_mbrtowc'+set}'`\" = set"; then
2097 echo $ac_n "(cached) $ac_c" 1>&6
2098 else
2099 cat > conftest.$ac_ext <<EOF
2100-#line 11399 "configure"
2101+#line 11339 "configure"
2102 #include "confdefs.h"
2103 #include <wchar.h>
2104 int main() {
2105 mbstate_t ps={0};mbrtowc(0,0,0,&ps);
2106 ; return 0; }
2107 EOF
2108-if { (eval echo configure:11406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2109+if { (eval echo configure:11346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2110 rm -rf conftest*
2111 ac_cv_have_mbrtowc="yes"
2112 else
2113@@ -11434,12 +11374,12 @@ cross_compiling=$ac_cv_prog_cc_cross
2114 fi
2115
2116 echo $ac_n "checking for res_ninit()""... $ac_c" 1>&6
2117-echo "configure:11438: checking for res_ninit()" >&5
2118+echo "configure:11378: checking for res_ninit()" >&5
2119 if eval "test \"`echo '$''{'ac_cv_func_res_ninit'+set}'`\" = set"; then
2120 echo $ac_n "(cached) $ac_c" 1>&6
2121 else
2122 cat > conftest.$ac_ext <<EOF
2123-#line 11443 "configure"
2124+#line 11383 "configure"
2125 #include "confdefs.h"
2126
2127 #ifdef linux
2128@@ -11451,7 +11391,7 @@ int main() {
2129 int foo = res_ninit(&_res);
2130 ; return 0; }
2131 EOF
2132-if { (eval echo configure:11455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2133+if { (eval echo configure:11395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2134 rm -rf conftest*
2135 ac_cv_func_res_ninit=yes
2136 else
2137@@ -11484,12 +11424,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
2138 cross_compiling=$ac_cv_prog_cxx_cross
2139
2140 echo $ac_n "checking for gnu_get_libc_version()""... $ac_c" 1>&6
2141-echo "configure:11488: checking for gnu_get_libc_version()" >&5
2142+echo "configure:11428: checking for gnu_get_libc_version()" >&5
2143 if eval "test \"`echo '$''{'ac_cv_func_gnu_get_libc_version'+set}'`\" = set"; then
2144 echo $ac_n "(cached) $ac_c" 1>&6
2145 else
2146 cat > conftest.$ac_ext <<EOF
2147-#line 11493 "configure"
2148+#line 11433 "configure"
2149 #include "confdefs.h"
2150
2151 #ifdef HAVE_GNU_LIBC_VERSION_H
2152@@ -11500,7 +11440,7 @@ int main() {
2153 const char *glibc_version = gnu_get_libc_version();
2154 ; return 0; }
2155 EOF
2156-if { (eval echo configure:11504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2157+if { (eval echo configure:11444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2158 rm -rf conftest*
2159 ac_cv_func_gnu_get_libc_version=yes
2160 else
2161@@ -11534,7 +11474,7 @@ cross_compiling=$ac_cv_prog_cc_cross
2162
2163
2164 echo $ac_n "checking for an implementation of va_copy()""... $ac_c" 1>&6
2165-echo "configure:11538: checking for an implementation of va_copy()" >&5
2166+echo "configure:11478: checking for an implementation of va_copy()" >&5
2167 if eval "test \"`echo '$''{'ac_cv_va_copy'+set}'`\" = set"; then
2168 echo $ac_n "(cached) $ac_c" 1>&6
2169 else
2170@@ -11544,7 +11484,7 @@ else
2171
2172 else
2173 cat > conftest.$ac_ext <<EOF
2174-#line 11548 "configure"
2175+#line 11488 "configure"
2176 #include "confdefs.h"
2177
2178 #include <stdarg.h>
2179@@ -11558,7 +11498,7 @@ else
2180 }
2181 int main() { f (0, 42); return 0; }
2182 EOF
2183-if { (eval echo configure:11562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2184+if { (eval echo configure:11502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2185 then
2186 ac_cv_va_copy=yes
2187 else
2188@@ -11575,7 +11515,7 @@ fi
2189
2190 echo "$ac_t""$ac_cv_va_copy" 1>&6
2191 echo $ac_n "checking for an implementation of __va_copy()""... $ac_c" 1>&6
2192-echo "configure:11579: checking for an implementation of __va_copy()" >&5
2193+echo "configure:11519: checking for an implementation of __va_copy()" >&5
2194 if eval "test \"`echo '$''{'ac_cv___va_copy'+set}'`\" = set"; then
2195 echo $ac_n "(cached) $ac_c" 1>&6
2196 else
2197@@ -11585,7 +11525,7 @@ else
2198
2199 else
2200 cat > conftest.$ac_ext <<EOF
2201-#line 11589 "configure"
2202+#line 11529 "configure"
2203 #include "confdefs.h"
2204
2205 #include <stdarg.h>
2206@@ -11599,7 +11539,7 @@ else
2207 }
2208 int main() { f (0, 42); return 0; }
2209 EOF
2210-if { (eval echo configure:11603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2211+if { (eval echo configure:11543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2212 then
2213 ac_cv___va_copy=yes
2214 else
2215@@ -11616,7 +11556,7 @@ fi
2216
2217 echo "$ac_t""$ac_cv___va_copy" 1>&6
2218 echo $ac_n "checking whether va_lists can be copied by value""... $ac_c" 1>&6
2219-echo "configure:11620: checking whether va_lists can be copied by value" >&5
2220+echo "configure:11560: checking whether va_lists can be copied by value" >&5
2221 if eval "test \"`echo '$''{'ac_cv_va_val_copy'+set}'`\" = set"; then
2222 echo $ac_n "(cached) $ac_c" 1>&6
2223 else
2224@@ -11626,7 +11566,7 @@ else
2225
2226 else
2227 cat > conftest.$ac_ext <<EOF
2228-#line 11630 "configure"
2229+#line 11570 "configure"
2230 #include "confdefs.h"
2231
2232 #include <stdarg.h>
2233@@ -11640,7 +11580,7 @@ else
2234 }
2235 int main() { f (0, 42); return 0; }
2236 EOF
2237-if { (eval echo configure:11644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2238+if { (eval echo configure:11584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2239 then
2240 ac_cv_va_val_copy=yes
2241 else
2242@@ -11710,12 +11650,12 @@ ARM_ABI_PREFIX=
2243 if test "$GNU_CC"; then
2244 if test "$CPU_ARCH" = "arm" ; then
2245 echo $ac_n "checking for ARM EABI""... $ac_c" 1>&6
2246-echo "configure:11714: checking for ARM EABI" >&5
2247+echo "configure:11654: checking for ARM EABI" >&5
2248 if eval "test \"`echo '$''{'ac_cv_gcc_arm_eabi'+set}'`\" = set"; then
2249 echo $ac_n "(cached) $ac_c" 1>&6
2250 else
2251 cat > conftest.$ac_ext <<EOF
2252-#line 11719 "configure"
2253+#line 11659 "configure"
2254 #include "confdefs.h"
2255
2256 int main() {
2257@@ -11728,7 +11668,7 @@ int main() {
2258
2259 ; return 0; }
2260 EOF
2261-if { (eval echo configure:11732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2262+if { (eval echo configure:11672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2263 rm -rf conftest*
2264 ac_cv_gcc_arm_eabi="yes"
2265 else
2266@@ -11753,12 +11693,12 @@ echo "$ac_t""$ac_cv_gcc_arm_eabi" 1>&6
2267 fi
2268
2269 echo $ac_n "checking for modern C++ template specialization syntax support""... $ac_c" 1>&6
2270-echo "configure:11757: checking for modern C++ template specialization syntax support" >&5
2271+echo "configure:11697: checking for modern C++ template specialization syntax support" >&5
2272 if eval "test \"`echo '$''{'ac_cv_cpp_modern_specialize_template_syntax'+set}'`\" = set"; then
2273 echo $ac_n "(cached) $ac_c" 1>&6
2274 else
2275 cat > conftest.$ac_ext <<EOF
2276-#line 11762 "configure"
2277+#line 11702 "configure"
2278 #include "confdefs.h"
2279 template <class T> struct X { int a; };
2280 class Y {};
2281@@ -11768,7 +11708,7 @@ X<int> int_x;
2282 X<Y> y_x;
2283 ; return 0; }
2284 EOF
2285-if { (eval echo configure:11772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2286+if { (eval echo configure:11712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2287 rm -rf conftest*
2288 ac_cv_cpp_modern_specialize_template_syntax=yes
2289 else
2290@@ -11786,12 +11726,12 @@ if test "$ac_cv_cpp_modern_specialize_template_syntax" = no ; then
2291 fi
2292
2293 echo $ac_n "checking whether partial template specialization works""... $ac_c" 1>&6
2294-echo "configure:11790: checking whether partial template specialization works" >&5
2295+echo "configure:11730: checking whether partial template specialization works" >&5
2296 if eval "test \"`echo '$''{'ac_cv_cpp_partial_specialization'+set}'`\" = set"; then
2297 echo $ac_n "(cached) $ac_c" 1>&6
2298 else
2299 cat > conftest.$ac_ext <<EOF
2300-#line 11795 "configure"
2301+#line 11735 "configure"
2302 #include "confdefs.h"
2303 template <class T> class Foo {};
2304 template <class T> class Foo<T*> {};
2305@@ -11799,7 +11739,7 @@ int main() {
2306 return 0;
2307 ; return 0; }
2308 EOF
2309-if { (eval echo configure:11803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2310+if { (eval echo configure:11743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2311 rm -rf conftest*
2312 ac_cv_cpp_partial_specialization=yes
2313 else
2314@@ -11823,12 +11763,12 @@ EOF
2315 fi
2316
2317 echo $ac_n "checking whether the C++ \"using\" keyword resolves ambiguity""... $ac_c" 1>&6
2318-echo "configure:11827: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
2319+echo "configure:11767: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
2320 if eval "test \"`echo '$''{'ac_cv_cpp_ambiguity_resolving_using'+set}'`\" = set"; then
2321 echo $ac_n "(cached) $ac_c" 1>&6
2322 else
2323 cat > conftest.$ac_ext <<EOF
2324-#line 11832 "configure"
2325+#line 11772 "configure"
2326 #include "confdefs.h"
2327 class X {
2328 public: int go(const X&) {return 3;}
2329@@ -11844,7 +11784,7 @@ int main() {
2330 X x; Y y; y.jo(x);
2331 ; return 0; }
2332 EOF
2333-if { (eval echo configure:11848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2334+if { (eval echo configure:11788: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2335 rm -rf conftest*
2336 ac_cv_cpp_ambiguity_resolving_using=yes
2337 else
2338@@ -11868,7 +11808,7 @@ EOF
2339 fi
2340
2341 echo $ac_n "checking for C++ dynamic_cast to void*""... $ac_c" 1>&6
2342-echo "configure:11872: checking for C++ dynamic_cast to void*" >&5
2343+echo "configure:11812: checking for C++ dynamic_cast to void*" >&5
2344 if eval "test \"`echo '$''{'ac_cv_cpp_dynamic_cast_void_ptr'+set}'`\" = set"; then
2345 echo $ac_n "(cached) $ac_c" 1>&6
2346 else
2347@@ -11876,7 +11816,7 @@ else
2348 ac_cv_cpp_dynamic_cast_void_ptr=no
2349 else
2350 cat > conftest.$ac_ext <<EOF
2351-#line 11880 "configure"
2352+#line 11820 "configure"
2353 #include "confdefs.h"
2354 class X { int i; public: virtual ~X() { } };
2355 class Y { int j; public: virtual ~Y() { } };
2356@@ -11892,7 +11832,7 @@ class X { int i; public: virtual ~X() { } };
2357 ((void*)&mdo == dynamic_cast<void*>(suby))));
2358 }
2359 EOF
2360-if { (eval echo configure:11896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2361+if { (eval echo configure:11836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2362 then
2363 ac_cv_cpp_dynamic_cast_void_ptr=yes
2364 else
2365@@ -11919,19 +11859,19 @@ fi
2366
2367
2368 echo $ac_n "checking whether C++ requires implementation of unused virtual methods""... $ac_c" 1>&6
2369-echo "configure:11923: checking whether C++ requires implementation of unused virtual methods" >&5
2370+echo "configure:11863: checking whether C++ requires implementation of unused virtual methods" >&5
2371 if eval "test \"`echo '$''{'ac_cv_cpp_unused_required'+set}'`\" = set"; then
2372 echo $ac_n "(cached) $ac_c" 1>&6
2373 else
2374 cat > conftest.$ac_ext <<EOF
2375-#line 11928 "configure"
2376+#line 11868 "configure"
2377 #include "confdefs.h"
2378 class X {private: virtual void never_called();};
2379 int main() {
2380 X x;
2381 ; return 0; }
2382 EOF
2383-if { (eval echo configure:11935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2384+if { (eval echo configure:11875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2385 rm -rf conftest*
2386 ac_cv_cpp_unused_required=no
2387 else
2388@@ -11957,12 +11897,12 @@ fi
2389
2390
2391 echo $ac_n "checking for trouble comparing to zero near std::operator!=()""... $ac_c" 1>&6
2392-echo "configure:11961: checking for trouble comparing to zero near std::operator!=()" >&5
2393+echo "configure:11901: checking for trouble comparing to zero near std::operator!=()" >&5
2394 if eval "test \"`echo '$''{'ac_cv_trouble_comparing_to_zero'+set}'`\" = set"; then
2395 echo $ac_n "(cached) $ac_c" 1>&6
2396 else
2397 cat > conftest.$ac_ext <<EOF
2398-#line 11966 "configure"
2399+#line 11906 "configure"
2400 #include "confdefs.h"
2401 #include <algorithm>
2402 template <class T> class Foo {};
2403@@ -11973,7 +11913,7 @@ int main() {
2404 Foo<int> f; return (0 != f);
2405 ; return 0; }
2406 EOF
2407-if { (eval echo configure:11977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2408+if { (eval echo configure:11917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2409 rm -rf conftest*
2410 ac_cv_trouble_comparing_to_zero=no
2411 else
2412@@ -12003,19 +11943,19 @@ fi
2413 _SAVE_LDFLAGS=$LDFLAGS
2414 LDFLAGS="$LDFLAGS $DSO_PIC_CFLAGS $DSO_LDOPTS $MOZ_OPTIMIZE_LDFLAGS"
2415 echo $ac_n "checking for __thread keyword for TLS variables""... $ac_c" 1>&6
2416-echo "configure:12007: checking for __thread keyword for TLS variables" >&5
2417+echo "configure:11947: checking for __thread keyword for TLS variables" >&5
2418 if eval "test \"`echo '$''{'ac_cv_thread_keyword'+set}'`\" = set"; then
2419 echo $ac_n "(cached) $ac_c" 1>&6
2420 else
2421 cat > conftest.$ac_ext <<EOF
2422-#line 12012 "configure"
2423+#line 11952 "configure"
2424 #include "confdefs.h"
2425 __thread bool tlsIsMainThread = false;
2426 int main() {
2427 return tlsIsMainThread;
2428 ; return 0; }
2429 EOF
2430-if { (eval echo configure:12019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2431+if { (eval echo configure:11959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2432 rm -rf conftest*
2433 ac_cv_thread_keyword=yes
2434 else
2435@@ -12055,12 +11995,12 @@ fi
2436 MALLOC_H=
2437 ac_safe=`echo "malloc.h" | sed 'y%./+-%__p_%'`
2438 echo $ac_n "checking for malloc.h""... $ac_c" 1>&6
2439-echo "configure:12059: checking for malloc.h" >&5
2440+echo "configure:11999: checking for malloc.h" >&5
2441 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
2442 echo $ac_n "(cached) $ac_c" 1>&6
2443 else
2444 cat > conftest.$ac_ext <<EOF
2445-#line 12064 "configure"
2446+#line 12004 "configure"
2447 #include "confdefs.h"
2448
2449 #include <malloc.h>
2450@@ -12068,7 +12008,7 @@ int main() {
2451
2452 ; return 0; }
2453 EOF
2454-if { (eval echo configure:12072: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2455+if { (eval echo configure:12012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2456 rm -rf conftest*
2457 eval "ac_cv_header_$ac_safe=yes"
2458 else
2459@@ -12091,12 +12031,12 @@ fi
2460 if test "$MALLOC_H" = ""; then
2461 ac_safe=`echo "malloc/malloc.h" | sed 'y%./+-%__p_%'`
2462 echo $ac_n "checking for malloc/malloc.h""... $ac_c" 1>&6
2463-echo "configure:12095: checking for malloc/malloc.h" >&5
2464+echo "configure:12035: checking for malloc/malloc.h" >&5
2465 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
2466 echo $ac_n "(cached) $ac_c" 1>&6
2467 else
2468 cat > conftest.$ac_ext <<EOF
2469-#line 12100 "configure"
2470+#line 12040 "configure"
2471 #include "confdefs.h"
2472
2473 #include <malloc/malloc.h>
2474@@ -12104,7 +12044,7 @@ int main() {
2475
2476 ; return 0; }
2477 EOF
2478-if { (eval echo configure:12108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2479+if { (eval echo configure:12048: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2480 rm -rf conftest*
2481 eval "ac_cv_header_$ac_safe=yes"
2482 else
2483@@ -12127,12 +12067,12 @@ fi
2484 if test "$MALLOC_H" = ""; then
2485 ac_safe=`echo "sys/malloc.h" | sed 'y%./+-%__p_%'`
2486 echo $ac_n "checking for sys/malloc.h""... $ac_c" 1>&6
2487-echo "configure:12131: checking for sys/malloc.h" >&5
2488+echo "configure:12071: checking for sys/malloc.h" >&5
2489 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
2490 echo $ac_n "(cached) $ac_c" 1>&6
2491 else
2492 cat > conftest.$ac_ext <<EOF
2493-#line 12136 "configure"
2494+#line 12076 "configure"
2495 #include "confdefs.h"
2496
2497 #include <sys/malloc.h>
2498@@ -12140,7 +12080,7 @@ int main() {
2499
2500 ; return 0; }
2501 EOF
2502-if { (eval echo configure:12144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2503+if { (eval echo configure:12084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2504 rm -rf conftest*
2505 eval "ac_cv_header_$ac_safe=yes"
2506 else
2507@@ -12176,12 +12116,12 @@ MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
2508 for ac_func in strndup posix_memalign memalign valloc
2509 do
2510 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
2511-echo "configure:12180: checking for $ac_func" >&5
2512+echo "configure:12120: checking for $ac_func" >&5
2513 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
2514 echo $ac_n "(cached) $ac_c" 1>&6
2515 else
2516 cat > conftest.$ac_ext <<EOF
2517-#line 12185 "configure"
2518+#line 12125 "configure"
2519 #include "confdefs.h"
2520 /* System header to define __stub macros and hopefully few prototypes,
2521 which can conflict with char $ac_func(); below. */
2522@@ -12207,7 +12147,7 @@ $ac_func();
2523
2524 ; return 0; }
2525 EOF
2526-if { (eval echo configure:12211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2527+if { (eval echo configure:12151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2528 rm -rf conftest*
2529 eval "ac_cv_func_$ac_func=yes"
2530 else
2531@@ -12237,19 +12177,19 @@ done
2532
2533
2534 echo $ac_n "checking for __attribute__((always_inline))""... $ac_c" 1>&6
2535-echo "configure:12241: checking for __attribute__((always_inline))" >&5
2536+echo "configure:12181: checking for __attribute__((always_inline))" >&5
2537 if eval "test \"`echo '$''{'ac_cv_attribute_always_inline'+set}'`\" = set"; then
2538 echo $ac_n "(cached) $ac_c" 1>&6
2539 else
2540 cat > conftest.$ac_ext <<EOF
2541-#line 12246 "configure"
2542+#line 12186 "configure"
2543 #include "confdefs.h"
2544 inline void f(void) __attribute__((always_inline));
2545 int main() {
2546
2547 ; return 0; }
2548 EOF
2549-if { (eval echo configure:12253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2550+if { (eval echo configure:12193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2551 rm -rf conftest*
2552 ac_cv_attribute_always_inline=yes
2553 else
2554@@ -12264,19 +12204,19 @@ fi
2555 echo "$ac_t""$ac_cv_attribute_always_inline" 1>&6
2556
2557 echo $ac_n "checking for __attribute__((malloc))""... $ac_c" 1>&6
2558-echo "configure:12268: checking for __attribute__((malloc))" >&5
2559+echo "configure:12208: checking for __attribute__((malloc))" >&5
2560 if eval "test \"`echo '$''{'ac_cv_attribute_malloc'+set}'`\" = set"; then
2561 echo $ac_n "(cached) $ac_c" 1>&6
2562 else
2563 cat > conftest.$ac_ext <<EOF
2564-#line 12273 "configure"
2565+#line 12213 "configure"
2566 #include "confdefs.h"
2567 void* f(int) __attribute__((malloc));
2568 int main() {
2569
2570 ; return 0; }
2571 EOF
2572-if { (eval echo configure:12280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2573+if { (eval echo configure:12220: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2574 rm -rf conftest*
2575 ac_cv_attribute_malloc=yes
2576 else
2577@@ -12291,19 +12231,19 @@ fi
2578 echo "$ac_t""$ac_cv_attribute_malloc" 1>&6
2579
2580 echo $ac_n "checking for __attribute__((warn_unused_result))""... $ac_c" 1>&6
2581-echo "configure:12295: checking for __attribute__((warn_unused_result))" >&5
2582+echo "configure:12235: checking for __attribute__((warn_unused_result))" >&5
2583 if eval "test \"`echo '$''{'ac_cv_attribute_warn_unused'+set}'`\" = set"; then
2584 echo $ac_n "(cached) $ac_c" 1>&6
2585 else
2586 cat > conftest.$ac_ext <<EOF
2587-#line 12300 "configure"
2588+#line 12240 "configure"
2589 #include "confdefs.h"
2590 int f(void) __attribute__((warn_unused_result));
2591 int main() {
2592
2593 ; return 0; }
2594 EOF
2595-if { (eval echo configure:12307: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2596+if { (eval echo configure:12247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2597 rm -rf conftest*
2598 ac_cv_attribute_warn_unused=yes
2599 else
2600@@ -12327,19 +12267,19 @@ cross_compiling=$ac_cv_prog_cc_cross
2601
2602
2603 echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
2604-echo "configure:12331: checking for LC_MESSAGES" >&5
2605+echo "configure:12271: checking for LC_MESSAGES" >&5
2606 if eval "test \"`echo '$''{'ac_cv_i18n_lc_messages'+set}'`\" = set"; then
2607 echo $ac_n "(cached) $ac_c" 1>&6
2608 else
2609 cat > conftest.$ac_ext <<EOF
2610-#line 12336 "configure"
2611+#line 12276 "configure"
2612 #include "confdefs.h"
2613 #include <locale.h>
2614 int main() {
2615 int category = LC_MESSAGES;
2616 ; return 0; }
2617 EOF
2618-if { (eval echo configure:12343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2619+if { (eval echo configure:12283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2620 rm -rf conftest*
2621 ac_cv_i18n_lc_messages=yes
2622 else
2623@@ -12365,12 +12305,12 @@ fi
2624 for ac_func in localeconv
2625 do
2626 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
2627-echo "configure:12369: checking for $ac_func" >&5
2628+echo "configure:12309: checking for $ac_func" >&5
2629 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
2630 echo $ac_n "(cached) $ac_c" 1>&6
2631 else
2632 cat > conftest.$ac_ext <<EOF
2633-#line 12374 "configure"
2634+#line 12314 "configure"
2635 #include "confdefs.h"
2636 /* System header to define __stub macros and hopefully few prototypes,
2637 which can conflict with char $ac_func(); below. */
2638@@ -12393,7 +12333,7 @@ $ac_func();
2639
2640 ; return 0; }
2641 EOF
2642-if { (eval echo configure:12397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2643+if { (eval echo configure:12337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2644 rm -rf conftest*
2645 eval "ac_cv_func_$ac_func=yes"
2646 else
2647@@ -12580,7 +12520,7 @@ fi
2648 # Extract the first word of "nspr-config", so it can be a program name with args.
2649 set dummy nspr-config; ac_word=$2
2650 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
2651-echo "configure:12584: checking for $ac_word" >&5
2652+echo "configure:12524: checking for $ac_word" >&5
2653 if eval "test \"`echo '$''{'ac_cv_path_NSPR_CONFIG'+set}'`\" = set"; then
2654 echo $ac_n "(cached) $ac_c" 1>&6
2655 else
2656@@ -12615,7 +12555,7 @@ fi
2657
2658 min_nspr_version=$NSPR_MINVER
2659 echo $ac_n "checking for NSPR - version >= $min_nspr_version""... $ac_c" 1>&6
2660-echo "configure:12619: checking for NSPR - version >= $min_nspr_version" >&5
2661+echo "configure:12559: checking for NSPR - version >= $min_nspr_version" >&5
2662
2663 no_nspr=""
2664 if test "$NSPR_CONFIG" != "no"; then
2665@@ -12678,7 +12618,7 @@ if test -n "$MOZ_NATIVE_NSPR"; then
2666 _SAVE_CFLAGS=$CFLAGS
2667 CFLAGS="$CFLAGS $NSPR_CFLAGS"
2668 cat > conftest.$ac_ext <<EOF
2669-#line 12682 "configure"
2670+#line 12622 "configure"
2671 #include "confdefs.h"
2672 #include "prlog.h"
2673 int main() {
2674@@ -12687,7 +12627,7 @@ int main() {
2675 #endif
2676 ; return 0; }
2677 EOF
2678-if { (eval echo configure:12691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2679+if { (eval echo configure:12631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2680 rm -rf conftest*
2681 MOZ_NATIVE_NSPR=1
2682 else
2683@@ -12729,7 +12669,7 @@ if test -z "$MOZ_ZLIB_LIBS$MOZ_ZLIB_CFLAGS$SKIP_LIBRARY_CHECKS"; then
2684 MOZ_NATIVE_ZLIB=
2685 else
2686 echo $ac_n "checking for gzread in -lz""... $ac_c" 1>&6
2687-echo "configure:12733: checking for gzread in -lz" >&5
2688+echo "configure:12673: checking for gzread in -lz" >&5
2689 ac_lib_var=`echo z'_'gzread | sed 'y%./+-%__p_%'`
2690 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
2691 echo $ac_n "(cached) $ac_c" 1>&6
2692@@ -12737,7 +12677,7 @@ else
2693 ac_save_LIBS="$LIBS"
2694 LIBS="-lz $LIBS"
2695 cat > conftest.$ac_ext <<EOF
2696-#line 12741 "configure"
2697+#line 12681 "configure"
2698 #include "confdefs.h"
2699 /* Override any gcc2 internal prototype to avoid an error. */
2700 /* We use char because int might match the return type of a gcc2
2701@@ -12748,7 +12688,7 @@ int main() {
2702 gzread()
2703 ; return 0; }
2704 EOF
2705-if { (eval echo configure:12752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2706+if { (eval echo configure:12692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2707 rm -rf conftest*
2708 eval "ac_cv_lib_$ac_lib_var=yes"
2709 else
2710@@ -12772,7 +12712,7 @@ fi
2711 if test "$MOZ_NATIVE_ZLIB" = 1; then
2712 MOZZLIBNUM=`echo $MOZZLIB | awk -F. '{printf "0x%x\n", ((($1 * 16 + $2) * 16) + $3) * 16 + $4}'`
2713 cat > conftest.$ac_ext <<EOF
2714-#line 12776 "configure"
2715+#line 12716 "configure"
2716 #include "confdefs.h"
2717 #include <stdio.h>
2718 #include <string.h>
2719@@ -12783,7 +12723,7 @@ int main() {
2720 #endif
2721 ; return 0; }
2722 EOF
2723-if { (eval echo configure:12787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2724+if { (eval echo configure:12727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2725 rm -rf conftest*
2726 MOZ_NATIVE_ZLIB=1
2727 else
2728@@ -12829,7 +12769,7 @@ if test -n "$MOZ_NATIVE_FFI"; then
2729 # Extract the first word of "pkg-config", so it can be a program name with args.
2730 set dummy pkg-config; ac_word=$2
2731 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
2732-echo "configure:12833: checking for $ac_word" >&5
2733+echo "configure:12773: checking for $ac_word" >&5
2734 if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
2735 echo $ac_n "(cached) $ac_c" 1>&6
2736 else
2737@@ -12873,19 +12813,19 @@ fi
2738 PKG_CONFIG_MIN_VERSION=0.9.0
2739 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
2740 echo $ac_n "checking for libffi > 3.0.9""... $ac_c" 1>&6
2741-echo "configure:12877: checking for libffi > 3.0.9" >&5
2742+echo "configure:12817: checking for libffi > 3.0.9" >&5
2743
2744 if $PKG_CONFIG --exists "libffi > 3.0.9" ; then
2745 echo "$ac_t""yes" 1>&6
2746 succeeded=yes
2747
2748 echo $ac_n "checking MOZ_FFI_CFLAGS""... $ac_c" 1>&6
2749-echo "configure:12884: checking MOZ_FFI_CFLAGS" >&5
2750+echo "configure:12824: checking MOZ_FFI_CFLAGS" >&5
2751 MOZ_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi > 3.0.9"`
2752 echo "$ac_t""$MOZ_FFI_CFLAGS" 1>&6
2753
2754 echo $ac_n "checking MOZ_FFI_LIBS""... $ac_c" 1>&6
2755-echo "configure:12889: checking MOZ_FFI_LIBS" >&5
2756+echo "configure:12829: checking MOZ_FFI_LIBS" >&5
2757 ## Remove evil flags like -Wl,--export-dynamic
2758 MOZ_FFI_LIBS="`$PKG_CONFIG --libs \"libffi > 3.0.9\" |sed s/-Wl,--export-dynamic//g`"
2759 echo "$ac_t""$MOZ_FFI_LIBS" 1>&6
2760@@ -12921,7 +12861,7 @@ echo "configure:12889: checking MOZ_FFI_LIBS" >&5
2761 # Extract the first word of "pkg-config", so it can be a program name with args.
2762 set dummy pkg-config; ac_word=$2
2763 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
2764-echo "configure:12925: checking for $ac_word" >&5
2765+echo "configure:12865: checking for $ac_word" >&5
2766 if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
2767 echo $ac_n "(cached) $ac_c" 1>&6
2768 else
2769@@ -12965,19 +12905,19 @@ fi
2770 PKG_CONFIG_MIN_VERSION=0.9.0
2771 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
2772 echo $ac_n "checking for libffi >= 3.0.9""... $ac_c" 1>&6
2773-echo "configure:12969: checking for libffi >= 3.0.9" >&5
2774+echo "configure:12909: checking for libffi >= 3.0.9" >&5
2775
2776 if $PKG_CONFIG --exists "libffi >= 3.0.9" ; then
2777 echo "$ac_t""yes" 1>&6
2778 succeeded=yes
2779
2780 echo $ac_n "checking MOZ_FFI_CFLAGS""... $ac_c" 1>&6
2781-echo "configure:12976: checking MOZ_FFI_CFLAGS" >&5
2782+echo "configure:12916: checking MOZ_FFI_CFLAGS" >&5
2783 MOZ_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi >= 3.0.9"`
2784 echo "$ac_t""$MOZ_FFI_CFLAGS" 1>&6
2785
2786 echo $ac_n "checking MOZ_FFI_LIBS""... $ac_c" 1>&6
2787-echo "configure:12981: checking MOZ_FFI_LIBS" >&5
2788+echo "configure:12921: checking MOZ_FFI_LIBS" >&5
2789 ## Remove evil flags like -Wl,--export-dynamic
2790 MOZ_FFI_LIBS="`$PKG_CONFIG --libs \"libffi >= 3.0.9\" |sed s/-Wl,--export-dynamic//g`"
2791 echo "$ac_t""$MOZ_FFI_LIBS" 1>&6
2792@@ -13112,18 +13052,18 @@ MOZ_DEBUG_DISABLE_DEFS="-DNDEBUG -DTRIMMED"
2793
2794 if test -n "$MOZ_DEBUG"; then
2795 echo $ac_n "checking for valid debug flags""... $ac_c" 1>&6
2796-echo "configure:13116: checking for valid debug flags" >&5
2797+echo "configure:13056: checking for valid debug flags" >&5
2798 _SAVE_CFLAGS=$CFLAGS
2799 CFLAGS="$CFLAGS $MOZ_DEBUG_FLAGS"
2800 cat > conftest.$ac_ext <<EOF
2801-#line 13120 "configure"
2802+#line 13060 "configure"
2803 #include "confdefs.h"
2804 #include <stdio.h>
2805 int main() {
2806 printf("Hello World\n");
2807 ; return 0; }
2808 EOF
2809-if { (eval echo configure:13127: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2810+if { (eval echo configure:13067: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2811 rm -rf conftest*
2812 _results=yes
2813 else
2814@@ -13201,18 +13141,18 @@ fi
2815 if test "$COMPILE_ENVIRONMENT"; then
2816 if test -n "$MOZ_OPTIMIZE"; then
2817 echo $ac_n "checking for valid optimization flags""... $ac_c" 1>&6
2818-echo "configure:13205: checking for valid optimization flags" >&5
2819+echo "configure:13145: checking for valid optimization flags" >&5
2820 _SAVE_CFLAGS=$CFLAGS
2821 CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS"
2822 cat > conftest.$ac_ext <<EOF
2823-#line 13209 "configure"
2824+#line 13149 "configure"
2825 #include "confdefs.h"
2826 #include <stdio.h>
2827 int main() {
2828 printf("Hello World\n");
2829 ; return 0; }
2830 EOF
2831-if { (eval echo configure:13216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2832+if { (eval echo configure:13156: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2833 rm -rf conftest*
2834 _results=yes
2835 else
2836@@ -13364,7 +13304,7 @@ EOF
2837 fi
2838 else
2839 echo $ac_n "checking size of int *""... $ac_c" 1>&6
2840-echo "configure:13368: checking size of int *" >&5
2841+echo "configure:13308: checking size of int *" >&5
2842 if eval "test \"`echo '$''{'ac_cv_sizeof_int_p'+set}'`\" = set"; then
2843 echo $ac_n "(cached) $ac_c" 1>&6
2844 else
2845@@ -13372,7 +13312,7 @@ else
2846 ac_cv_sizeof_int_p=4
2847 else
2848 cat > conftest.$ac_ext <<EOF
2849-#line 13376 "configure"
2850+#line 13316 "configure"
2851 #include "confdefs.h"
2852 #include <stdio.h>
2853 int main()
2854@@ -13383,7 +13323,7 @@ int main()
2855 return(0);
2856 }
2857 EOF
2858-if { (eval echo configure:13387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2859+if { (eval echo configure:13327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
2860 then
2861 ac_cv_sizeof_int_p=`cat conftestval`
2862 else
2863@@ -13687,12 +13627,12 @@ fi
2864 if test -n "$MOZ_VALGRIND"; then
2865 ac_safe=`echo "valgrind/valgrind.h" | sed 'y%./+-%__p_%'`
2866 echo $ac_n "checking for valgrind/valgrind.h""... $ac_c" 1>&6
2867-echo "configure:13691: checking for valgrind/valgrind.h" >&5
2868+echo "configure:13631: checking for valgrind/valgrind.h" >&5
2869 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
2870 echo $ac_n "(cached) $ac_c" 1>&6
2871 else
2872 cat > conftest.$ac_ext <<EOF
2873-#line 13696 "configure"
2874+#line 13636 "configure"
2875 #include "confdefs.h"
2876
2877 #include <valgrind/valgrind.h>
2878@@ -13700,7 +13640,7 @@ int main() {
2879
2880 ; return 0; }
2881 EOF
2882-if { (eval echo configure:13704: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2883+if { (eval echo configure:13644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2884 rm -rf conftest*
2885 eval "ac_cv_header_$ac_safe=yes"
2886 else
2887@@ -13973,7 +13913,7 @@ do
2888 # Extract the first word of "$ac_prog", so it can be a program name with args.
2889 set dummy $ac_prog; ac_word=$2
2890 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
2891-echo "configure:13977: checking for $ac_word" >&5
2892+echo "configure:13917: checking for $ac_word" >&5
2893 if eval "test \"`echo '$''{'ac_cv_path_CCACHE'+set}'`\" = set"; then
2894 echo $ac_n "(cached) $ac_c" 1>&6
2895 else
2896@@ -14099,12 +14039,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
2897 for ac_func in __cxa_demangle
2898 do
2899 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
2900-echo "configure:14103: checking for $ac_func" >&5
2901+echo "configure:14043: checking for $ac_func" >&5
2902 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
2903 echo $ac_n "(cached) $ac_c" 1>&6
2904 else
2905 cat > conftest.$ac_ext <<EOF
2906-#line 14108 "configure"
2907+#line 14048 "configure"
2908 #include "confdefs.h"
2909 /* System header to define __stub macros and hopefully few prototypes,
2910 which can conflict with char $ac_func(); below. */
2911@@ -14130,7 +14070,7 @@ $ac_func();
2912
2913 ; return 0; }
2914 EOF
2915-if { (eval echo configure:14134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2916+if { (eval echo configure:14074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2917 rm -rf conftest*
2918 eval "ac_cv_func_$ac_func=yes"
2919 else
2920@@ -14184,12 +14124,12 @@ fi
2921 if test -z "$SKIP_LIBRARY_CHECKS"; then
2922 ac_safe=`echo "unwind.h" | sed 'y%./+-%__p_%'`
2923 echo $ac_n "checking for unwind.h""... $ac_c" 1>&6
2924-echo "configure:14188: checking for unwind.h" >&5
2925+echo "configure:14128: checking for unwind.h" >&5
2926 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
2927 echo $ac_n "(cached) $ac_c" 1>&6
2928 else
2929 cat > conftest.$ac_ext <<EOF
2930-#line 14193 "configure"
2931+#line 14133 "configure"
2932 #include "confdefs.h"
2933
2934 #include <unwind.h>
2935@@ -14197,7 +14137,7 @@ int main() {
2936
2937 ; return 0; }
2938 EOF
2939-if { (eval echo configure:14201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2940+if { (eval echo configure:14141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2941 rm -rf conftest*
2942 eval "ac_cv_header_$ac_safe=yes"
2943 else
2944@@ -14214,12 +14154,12 @@ fi
2945 for ac_func in _Unwind_Backtrace
2946 do
2947 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
2948-echo "configure:14218: checking for $ac_func" >&5
2949+echo "configure:14158: checking for $ac_func" >&5
2950 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
2951 echo $ac_n "(cached) $ac_c" 1>&6
2952 else
2953 cat > conftest.$ac_ext <<EOF
2954-#line 14223 "configure"
2955+#line 14163 "configure"
2956 #include "confdefs.h"
2957 /* System header to define __stub macros and hopefully few prototypes,
2958 which can conflict with char $ac_func(); below. */
2959@@ -14242,7 +14182,7 @@ $ac_func();
2960
2961 ; return 0; }
2962 EOF
2963-if { (eval echo configure:14246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2964+if { (eval echo configure:14186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2965 rm -rf conftest*
2966 eval "ac_cv_func_$ac_func=yes"
2967 else
2968@@ -14334,7 +14274,7 @@ if test -z "$SKIP_COMPILER_CHECKS"; then
2969 # Compiler Options
2970
2971 echo $ac_n "checking for -pipe support""... $ac_c" 1>&6
2972-echo "configure:14338: checking for -pipe support" >&5
2973+echo "configure:14278: checking for -pipe support" >&5
2974 if test -n "$GNU_CC" -a -n "$GNU_CXX"; then
2975 CFLAGS="$CFLAGS -pipe"
2976 CXXFLAGS="$CXXFLAGS -pipe"
2977@@ -14348,16 +14288,16 @@ _SAVE_CFLAGS="$CFLAGS"
2978 CFLAGS="$CFLAGS -fprofile-generate -fprofile-correction"
2979
2980 echo $ac_n "checking whether C compiler supports -fprofile-generate""... $ac_c" 1>&6
2981-echo "configure:14352: checking whether C compiler supports -fprofile-generate" >&5
2982+echo "configure:14292: checking whether C compiler supports -fprofile-generate" >&5
2983 cat > conftest.$ac_ext <<EOF
2984-#line 14354 "configure"
2985+#line 14294 "configure"
2986 #include "confdefs.h"
2987
2988 int main() {
2989 return 0;
2990 ; return 0; }
2991 EOF
2992-if { (eval echo configure:14361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2993+if { (eval echo configure:14301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
2994 rm -rf conftest*
2995 PROFILE_GEN_CFLAGS="-fprofile-generate"
2996 result="yes"
2997@@ -14421,16 +14361,16 @@ if test "$_PEDANTIC"; then
2998 _SAVE_CXXFLAGS=$CXXFLAGS
2999 CXXFLAGS="$CXXFLAGS -pedantic ${_WARNINGS_CXXFLAGS} -Wno-long-long"
3000 echo $ac_n "checking whether C++ compiler has -pedantic long long bug""... $ac_c" 1>&6
3001-echo "configure:14425: checking whether C++ compiler has -pedantic long long bug" >&5
3002+echo "configure:14365: checking whether C++ compiler has -pedantic long long bug" >&5
3003 cat > conftest.$ac_ext <<EOF
3004-#line 14427 "configure"
3005+#line 14367 "configure"
3006 #include "confdefs.h"
3007 $configure_static_assert_macros
3008 int main() {
3009 CONFIGURE_STATIC_ASSERT(sizeof(long long) == 8)
3010 ; return 0; }
3011 EOF
3012-if { (eval echo configure:14434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3013+if { (eval echo configure:14374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3014 rm -rf conftest*
3015 result="no"
3016 else
3017@@ -14457,12 +14397,12 @@ fi
3018 _SAVE_CXXFLAGS=$CXXFLAGS
3019 CXXFLAGS="$CXXFLAGS ${_WARNINGS_CXXFLAGS}"
3020 echo $ac_n "checking for correct overload resolution with const and templates""... $ac_c" 1>&6
3021-echo "configure:14461: checking for correct overload resolution with const and templates" >&5
3022+echo "configure:14401: checking for correct overload resolution with const and templates" >&5
3023 if eval "test \"`echo '$''{'ac_nscap_nonconst_opeq_bug'+set}'`\" = set"; then
3024 echo $ac_n "(cached) $ac_c" 1>&6
3025 else
3026 cat > conftest.$ac_ext <<EOF
3027-#line 14466 "configure"
3028+#line 14406 "configure"
3029 #include "confdefs.h"
3030
3031 template <class T>
3032@@ -14492,7 +14432,7 @@ int main() {
3033
3034 ; return 0; }
3035 EOF
3036-if { (eval echo configure:14496: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3037+if { (eval echo configure:14436: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3038 rm -rf conftest*
3039 ac_nscap_nonconst_opeq_bug="no"
3040 else
3041@@ -14518,19 +14458,19 @@ EOF
3042 fi
3043
3044 echo $ac_n "checking for tm_zone tm_gmtoff in struct tm""... $ac_c" 1>&6
3045-echo "configure:14522: checking for tm_zone tm_gmtoff in struct tm" >&5
3046+echo "configure:14462: checking for tm_zone tm_gmtoff in struct tm" >&5
3047 if eval "test \"`echo '$''{'ac_cv_struct_tm_zone_tm_gmtoff'+set}'`\" = set"; then
3048 echo $ac_n "(cached) $ac_c" 1>&6
3049 else
3050 cat > conftest.$ac_ext <<EOF
3051-#line 14527 "configure"
3052+#line 14467 "configure"
3053 #include "confdefs.h"
3054 #include <time.h>
3055 int main() {
3056 struct tm tm; tm.tm_zone = 0; tm.tm_gmtoff = 1;
3057 ; return 0; }
3058 EOF
3059-if { (eval echo configure:14534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3060+if { (eval echo configure:14474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3061 rm -rf conftest*
3062 ac_cv_struct_tm_zone_tm_gmtoff="yes"
3063 else
3064@@ -14572,18 +14512,18 @@ cross_compiling=$ac_cv_prog_cc_cross
3065
3066
3067 echo $ac_n "checking what kind of list files are supported by the linker""... $ac_c" 1>&6
3068-echo "configure:14576: checking what kind of list files are supported by the linker" >&5
3069+echo "configure:14516: checking what kind of list files are supported by the linker" >&5
3070 if eval "test \"`echo '$''{'EXPAND_LIBS_LIST_STYLE'+set}'`\" = set"; then
3071 echo $ac_n "(cached) $ac_c" 1>&6
3072 else
3073 echo "int main() {return 0;}" > conftest.${ac_ext}
3074- 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
3075+ 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
3076 echo "INPUT(conftest.${OBJ_SUFFIX})" > conftest.list
3077- 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
3078+ 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
3079 EXPAND_LIBS_LIST_STYLE=linkerscript
3080 else
3081 echo "conftest.${OBJ_SUFFIX}" > conftest.list
3082- 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
3083+ 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
3084 EXPAND_LIBS_LIST_STYLE=list
3085 else
3086 EXPAND_LIBS_LIST_STYLE=none
3087@@ -14603,7 +14543,7 @@ LIBS_DESC_SUFFIX=desc
3088
3089 if test "$GCC_USE_GNU_LD"; then
3090 echo $ac_n "checking what kind of ordering can be done with the linker""... $ac_c" 1>&6
3091-echo "configure:14607: checking what kind of ordering can be done with the linker" >&5
3092+echo "configure:14547: checking what kind of ordering can be done with the linker" >&5
3093 if eval "test \"`echo '$''{'EXPAND_LIBS_ORDER_STYLE'+set}'`\" = set"; then
3094 echo $ac_n "(cached) $ac_c" 1>&6
3095 else
3096@@ -14611,14 +14551,14 @@ else
3097 _SAVE_LDFLAGS="$LDFLAGS"
3098 LDFLAGS="${LDFLAGS} -Wl,--section-ordering-file,conftest.order"
3099 cat > conftest.$ac_ext <<EOF
3100-#line 14615 "configure"
3101+#line 14555 "configure"
3102 #include "confdefs.h"
3103
3104 int main() {
3105
3106 ; return 0; }
3107 EOF
3108-if { (eval echo configure:14622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3109+if { (eval echo configure:14562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3110 rm -rf conftest*
3111 EXPAND_LIBS_ORDER_STYLE=section-ordering-file
3112 else
3113@@ -14630,7 +14570,7 @@ fi
3114 rm -f conftest*
3115 LDFLAGS="$_SAVE_LDFLAGS"
3116 if test -z "$EXPAND_LIBS_ORDER_STYLE"; then
3117- 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
3118+ 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
3119 EXPAND_LIBS_ORDER_STYLE=linkerscript
3120 else
3121 EXPAND_LIBS_ORDER_STYLE=none
3122@@ -14741,7 +14681,7 @@ esac
3123 if test -z "$SKIP_LIBRARY_CHECKS" -a -z "$NO_EDITLINE"; then
3124 if test -n "$JS_WANT_READLINE"; then
3125 echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
3126-echo "configure:14745: checking for readline in -lreadline" >&5
3127+echo "configure:14685: checking for readline in -lreadline" >&5
3128 ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
3129 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
3130 echo $ac_n "(cached) $ac_c" 1>&6
3131@@ -14749,7 +14689,7 @@ else
3132 ac_save_LIBS="$LIBS"
3133 LIBS="-lreadline $LIBS"
3134 cat > conftest.$ac_ext <<EOF
3135-#line 14753 "configure"
3136+#line 14693 "configure"
3137 #include "confdefs.h"
3138 /* Override any gcc2 internal prototype to avoid an error. */
3139 /* We use char because int might match the return type of a gcc2
3140@@ -14760,7 +14700,7 @@ int main() {
3141 readline()
3142 ; return 0; }
3143 EOF
3144-if { (eval echo configure:14764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3145+if { (eval echo configure:14704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3146 rm -rf conftest*
3147 eval "ac_cv_lib_$ac_lib_var=yes"
3148 else
3149@@ -14990,9 +14930,9 @@ EOF
3150
3151
3152 echo $ac_n "checking for posix_fallocate""... $ac_c" 1>&6
3153-echo "configure:14994: checking for posix_fallocate" >&5
3154+echo "configure:14934: checking for posix_fallocate" >&5
3155 cat > conftest.$ac_ext <<EOF
3156-#line 14996 "configure"
3157+#line 14936 "configure"
3158 #include "confdefs.h"
3159 #define _XOPEN_SOURCE 600
3160 #include <fcntl.h>
3161@@ -15000,7 +14940,7 @@ int main() {
3162 posix_fallocate(0, 0, 0);
3163 ; return 0; }
3164 EOF
3165-if { (eval echo configure:15004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3166+if { (eval echo configure:14944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3167 rm -rf conftest*
3168 ac_cv___posix_fallocate=true
3169 else
3170@@ -15029,7 +14969,7 @@ if test "$MOZ_X11"; then
3171 _SAVE_CFLAGS=$CFLAGS
3172 CFLAGS="$CFLAGS $XCFLAGS"
3173 cat > conftest.$ac_ext <<EOF
3174-#line 15033 "configure"
3175+#line 14973 "configure"
3176 #include "confdefs.h"
3177
3178 #include <stdio.h>
3179@@ -15047,7 +14987,7 @@ int main() {
3180
3181 ; return 0; }
3182 EOF
3183-if { (eval echo configure:15051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3184+if { (eval echo configure:14991: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
3185 :
3186 else
3187 echo "configure: failed program was:" >&5
3188@@ -15162,12 +15102,12 @@ fi
3189 for ac_func in setlocale
3190 do
3191 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
3192-echo "configure:15166: checking for $ac_func" >&5
3193+echo "configure:15106: checking for $ac_func" >&5
3194 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
3195 echo $ac_n "(cached) $ac_c" 1>&6
3196 else
3197 cat > conftest.$ac_ext <<EOF
3198-#line 15171 "configure"
3199+#line 15111 "configure"
3200 #include "confdefs.h"
3201 /* System header to define __stub macros and hopefully few prototypes,
3202 which can conflict with char $ac_func(); below. */
3203@@ -15190,7 +15130,7 @@ $ac_func();
3204
3205 ; return 0; }
3206 EOF
3207-if { (eval echo configure:15194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3208+if { (eval echo configure:15134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3209 rm -rf conftest*
3210 eval "ac_cv_func_$ac_func=yes"
3211 else
3212@@ -15220,12 +15160,12 @@ done
3213 for ac_func in localeconv
3214 do
3215 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
3216-echo "configure:15224: checking for $ac_func" >&5
3217+echo "configure:15164: checking for $ac_func" >&5
3218 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
3219 echo $ac_n "(cached) $ac_c" 1>&6
3220 else
3221 cat > conftest.$ac_ext <<EOF
3222-#line 15229 "configure"
3223+#line 15169 "configure"
3224 #include "confdefs.h"
3225 /* System header to define __stub macros and hopefully few prototypes,
3226 which can conflict with char $ac_func(); below. */
3227@@ -15248,7 +15188,7 @@ $ac_func();
3228
3229 ; return 0; }
3230 EOF
3231-if { (eval echo configure:15252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3232+if { (eval echo configure:15192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
3233 rm -rf conftest*
3234 eval "ac_cv_func_$ac_func=yes"
3235 else
3236--
32371.9.3
3238
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 6aeb2f683..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch
+++ /dev/null
@@ -1,75 +0,0 @@
1From d4a15ad82292ff6d772dcc631df98754d20be31b Mon Sep 17 00:00:00 2001
2From: Colin Walters <walters@verbum.org>
3Date: Tue, 18 Mar 2014 11:46:05 -0400
4Subject: [PATCH 2/5] Move JS_BYTES_PER_WORD out of config.h
5
6Instead define it in terms of the already extant GNU C extension
7__SIZEOF_POINTER__. This avoids multiarch conflicts when 32 and 64
8bit packages of js are co-installed.
9---
10
11Upstream-status: Pending
12
13 js/src/configure.in | 9 ---------
14 js/src/js-config.h.in | 1 -
15 js/src/jstypes.h | 12 ++++++++++++
16 3 files changed, 12 insertions(+), 10 deletions(-)
17
18diff --git a/js/src/configure.in b/js/src/configure.in
19index 15605b2..64c7606 100644
20--- a/js/src/configure.in
21+++ b/js/src/configure.in
22@@ -2345,15 +2345,6 @@ else
23 AC_MSG_RESULT(no)
24 fi
25
26-MOZ_SIZE_OF_TYPE(JS_BYTES_PER_WORD, void*, 4 8)
27-if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then
28- AC_DEFINE(JS_BITS_PER_WORD_LOG2, 5)
29-elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then
30- AC_DEFINE(JS_BITS_PER_WORD_LOG2, 6)
31-else
32- AC_MSG_ERROR([Unexpected JS_BYTES_PER_WORD])
33-fi
34-
35 MOZ_ALIGN_OF_TYPE(JS_ALIGN_OF_POINTER, void*, 2 4 8 16)
36 MOZ_SIZE_OF_TYPE(JS_BYTES_PER_DOUBLE, double, 6 8 10 12 14)
37
38diff --git a/js/src/js-config.h.in b/js/src/js-config.h.in
39index 6889e00..4775420 100644
40--- a/js/src/js-config.h.in
41+++ b/js/src/js-config.h.in
42@@ -56,7 +56,6 @@
43 #undef JS_INT32_TYPE
44 #undef JS_INT64_TYPE
45 #undef JS_INTPTR_TYPE
46-#undef JS_BYTES_PER_WORD
47
48 /* Some mozilla code uses JS-friend APIs that depend on JS_METHODJIT being
49 correct. */
50diff --git a/js/src/jstypes.h b/js/src/jstypes.h
51index d0cf183..3e7928f 100644
52--- a/js/src/jstypes.h
53+++ b/js/src/jstypes.h
54@@ -24,6 +24,18 @@
55 #include "mozilla/Util.h"
56
57 #include "js-config.h"
58+#ifndef JS_BYTES_PER_WORD
59+#define JS_BYTES_PER_WORD __SIZEOF_POINTER__
60+#endif
61+#ifndef JS_BITS_PER_WORD_LOG2
62+#if JS_BYTES_PER_WORD == 8
63+#define JS_BITS_PER_WORD_LOG2 6
64+#elif JS_BYTES_PER_WORD == 4
65+#define JS_BITS_PER_WORD_LOG2 5
66+#else
67+#error Unhandled JS_BYTES_PER_WORD
68+#endif
69+#endif
70
71 /***********************************************************************
72 ** MACROS: JS_EXTERN_API
73--
741.9.3
75
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 000000000..4f7ebc68d
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch
@@ -0,0 +1,34 @@
1From e6dcee5f8a0f80ce99946b81fa1233611a149fe6 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 12 Jul 2018 18:00:52 +0800
4Subject: [PATCH 2/5] fix cannot find link
5
6..
7|DEBUG: link: Trying 'mips64-wrs-linux-ld --sysroot=tmp-glibc/work/
8mips64-wrs-linux/mozjs/52.8.1-r0/recipe-sysroot '
9|ERROR: Cannot find link
10...
11
12Upstream-Status: Inappropriate [oe specific]
13
14Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
15---
16 build/moz.configure/checks.configure | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/build/moz.configure/checks.configure b/build/moz.configure/checks.configure
20index 8c2dbc0..83bffc3 100644
21--- a/build/moz.configure/checks.configure
22+++ b/build/moz.configure/checks.configure
23@@ -128,7 +128,7 @@ def check_prog(var, progs, what=None, input=None, allow_missing=False,
24
25 for prog in value or progs:
26 log.debug('%s: Trying %s', var.lower(), quote(prog))
27- result = find_program(prog, paths)
28+ result = find_program(prog.split()[0], paths)
29 if result:
30 return result
31
32--
332.7.4
34
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 000000000..a754ff16c
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch
@@ -0,0 +1,28 @@
1From 646a78262b18e19721cd41ee515215221dd241b6 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 12 Jul 2018 18:12:42 +0800
4Subject: [PATCH 3/5] workaround autoconf 2.13 detection failed
5
6Upstream-Status: Inappropriate [oe specific]
7
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9---
10 build/moz.configure/old.configure | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
14index b32c3f7..ece47f4 100644
15--- a/build/moz.configure/old.configure
16+++ b/build/moz.configure/old.configure
17@@ -31,7 +31,7 @@ def autoconf(mozconfig, autoconf):
18 autoconf = autoconf[0] if autoconf else None
19
20 for ac in (mozconfig_autoconf, autoconf, 'autoconf-2.13', 'autoconf2.13',
21- 'autoconf213'):
22+ 'autoconf213', 'autoconf'):
23 if ac:
24 autoconf = find_program(ac)
25 if autoconf:
26--
272.7.4
28
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 000000000..4cba79c5b
--- /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 @@
1From a46adb74b5ba5e17d676d31d70faca76c1381d15 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 12 Jul 2018 21:25:46 +0800
4Subject: [PATCH 4/5] do not use autoconf 2.13 to refresh old.configure
5
6Upstream-Status: Inappropriate [oe specific]
7
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9---
10 build/moz.configure/old.configure | 2 +-
11 js/src/old-configure | 2 +-
12 2 files changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
15index ece47f4..a73900f 100644
16--- a/build/moz.configure/old.configure
17+++ b/build/moz.configure/old.configure
18@@ -83,7 +83,7 @@ def prepare_configure(old_configure, mozconfig, autoconf, build_env, shell,
19 old_configure = os.path.join(old_configure_dir, 'js', 'src',
20 os.path.basename(old_configure))
21
22- refresh = True
23+ refresh = False
24 if exists(old_configure):
25 mtime = getmtime(old_configure)
26 aclocal = os.path.join(build_env.topsrcdir, 'build', 'autoconf',
27diff --git a/js/src/old-configure b/js/src/old-configure
28index 75b00e1..8a8ef52 100644
29--- a/js/src/old-configure
30+++ b/js/src/old-configure
31@@ -619,7 +619,7 @@ if test -z "$srcdir"; then
32 ac_prog=$0
33 ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
34 test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
35- srcdir=$ac_confdir
36+ srcdir="$ac_confdir/../../"
37 if test ! -r $srcdir/$ac_unique_file; then
38 srcdir=..
39 fi
40--
412.7.4
42
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 8bd35d405..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/0004-mozbug746112-no-decommit-on-large-pages.patch
+++ /dev/null
@@ -1,103 +0,0 @@
1From 0128c5a9eeee0d3fc0deb9129dd20eb79338c8f4 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen.kooi@linaro.org>
3Date: Mon, 2 Mar 2015 19:08:59 +0800
4Subject: [PATCH 4/5] mozbug746112-no-decommit-on-large-pages
5
6---
7Upstream-status: Pending
8
9 js/src/gc/Heap.h | 15 ++++++++++-----
10 js/src/jsgc.cpp | 15 ++++++++++++---
11 2 files changed, 22 insertions(+), 8 deletions(-)
12
13diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h
14index b8f8c78..1cfd269 100644
15--- a/js/src/gc/Heap.h
16+++ b/js/src/gc/Heap.h
17@@ -103,26 +103,31 @@ struct Cell
18 };
19
20 /*
21- * Page size is 4096 by default, except for SPARC, where it is 8192.
22+ * Page size must be static to support our arena pointer optimizations, so we
23+ * are forced to support each platform with non-4096 pages as a special case.
24+ * Note: The freelist supports a maximum arena shift of 15.
25 * Note: Do not use JS_CPU_SPARC here, this header is used outside JS.
26 * Bug 692267: Move page size definition to gc/Memory.h and include it
27 * directly once jsgc.h is no longer an installed header.
28 */
29 #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9))
30 const size_t PageShift = 13;
31+const size_t ArenaShift = PageShift;
32+#elif defined(__powerpc__)
33+const size_t PageShift = 16;
34+const size_t ArenaShift = 12;
35 #else
36 const size_t PageShift = 12;
37+const size_t ArenaShift = PageShift;
38 #endif
39 const size_t PageSize = size_t(1) << PageShift;
40+const size_t ArenaSize = size_t(1) << ArenaShift;
41+const size_t ArenaMask = ArenaSize - 1;
42
43 const size_t ChunkShift = 20;
44 const size_t ChunkSize = size_t(1) << ChunkShift;
45 const size_t ChunkMask = ChunkSize - 1;
46
47-const size_t ArenaShift = PageShift;
48-const size_t ArenaSize = PageSize;
49-const size_t ArenaMask = ArenaSize - 1;
50-
51 /*
52 * This is the maximum number of arenas we allow in the FreeCommitted state
53 * before we trigger a GC_SHRINK to release free arenas to the OS.
54diff --git a/js/src/jsgc.cpp b/js/src/jsgc.cpp
55index b3caf05..a258d2d 100644
56--- a/js/src/jsgc.cpp
57+++ b/js/src/jsgc.cpp
58@@ -251,6 +251,13 @@ static const int BackgroundPhaseLength[] = {
59 sizeof(BackgroundPhaseStrings) / sizeof(AllocKind)
60 };
61
62+/* Unused memory decommiting requires the arena size match the page size. */
63+static bool
64+DecommitEnabled()
65+{
66+ return PageSize == ArenaSize;
67+}
68+
69 #ifdef DEBUG
70 void
71 ArenaHeader::checkSynchronizedWithFreeList() const
72@@ -742,7 +749,8 @@ Chunk::fetchNextDecommittedArena()
73 decommittedArenas.unset(offset);
74
75 Arena *arena = &arenas[offset];
76- MarkPagesInUse(arena, ArenaSize);
77+ if (DecommitEnabled())
78+ MarkPagesInUse(arena, ArenaSize);
79 arena->aheader.setAsNotAllocated();
80
81 return &arena->aheader;
82@@ -2731,7 +2739,7 @@ DecommitArenasFromAvailableList(JSRuntime *rt, Chunk **availableListHeadp)
83 chunk->removeFromAvailableList();
84
85 size_t arenaIndex = Chunk::arenaIndex(aheader->arenaAddress());
86- bool ok;
87+ bool ok = true;
88 {
89 /*
90 * If the main thread waits for the decommit to finish, skip
91@@ -2741,7 +2749,8 @@ DecommitArenasFromAvailableList(JSRuntime *rt, Chunk **availableListHeadp)
92 Maybe<AutoUnlockGC> maybeUnlock;
93 if (!rt->isHeapBusy())
94 maybeUnlock.construct(rt);
95- ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
96+ if (DecommitEnabled())
97+ ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
98 }
99
100 if (ok) {
101--
1021.9.3
103
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 bc99ecc50..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/0005-aarch64-64k-page.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 9c42920c2b635a399bd1f93833efdeb1696f17ee Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen.kooi@linaro.org>
3Date: Mon, 2 Mar 2015 19:09:57 +0800
4Subject: [PATCH 5/5] aarch64-64k-page
5
6---
7Upstream-status: Pending
8
9 js/src/gc/Heap.h | 2 +-
10 js/src/gc/Memory.cpp | 3 +++
11 2 files changed, 4 insertions(+), 1 deletion(-)
12
13diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h
14index 1cfd269..f4dbcda 100644
15--- a/js/src/gc/Heap.h
16+++ b/js/src/gc/Heap.h
17@@ -113,7 +113,7 @@ struct Cell
18 #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9))
19 const size_t PageShift = 13;
20 const size_t ArenaShift = PageShift;
21-#elif defined(__powerpc__)
22+#elif defined(__powerpc__) || defined(__aarch64__)
23 const size_t PageShift = 16;
24 const size_t ArenaShift = 12;
25 #else
26diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
27index 5b386a2..e5ad018 100644
28--- a/js/src/gc/Memory.cpp
29+++ b/js/src/gc/Memory.cpp
30@@ -302,8 +302,11 @@ GetPageFaultCount()
31 void
32 InitMemorySubsystem()
33 {
34+ /* aarch64 may have 64KB or 4KB pages */
35+#ifndef __aarch64__
36 if (size_t(sysconf(_SC_PAGESIZE)) != PageSize)
37 MOZ_CRASH();
38+#endif
39 }
40
41 void *
42--
431.9.3
44
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 000000000..38e4698f2
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
@@ -0,0 +1,38 @@
1From 55d833dc3c194f1eb7841f308ad3b9ec3800d3b3 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Fri, 13 Jul 2018 15:48:32 +0800
4Subject: [PATCH 5/5] fix do_compile failed on mips
5
6Link with var-OS_LDFLAGS to fix the issue.
7Such as on mips:
8...
9|mips-wrsmllib32-linux-g++ -meb -mabi=32 -mhard-float ... -o libmozjs-52.so
10|/usr/include/c++/8.1.0/bits/atomic_base.h:514: error: undefined
11reference to '__atomic_fetch_add_8'
12...
13
14In recipe, set OS_LDFLAGS="-Wl,-latomic" could fix the issue.
15
16Upstream-Status: Inappropriate [oe specific]
17
18Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
19---
20 config/config.mk | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/config/config.mk b/config/config.mk
24index 4e3fd1a..d847ffa 100644
25--- a/config/config.mk
26+++ b/config/config.mk
27@@ -523,7 +523,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
28 ifdef SYMBOL_ORDER
29 EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
30 endif
31-EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
32+EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS)
33
34 # $(call CHECK_SYMBOLS,lib,PREFIX,dep_name,test)
35 # Checks that the given `lib` doesn't contain dependency on symbols with a
36--
372.7.4
38
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 000000000..32a977ce2
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
@@ -0,0 +1,158 @@
1From 04e8a611e958f0da1ccac61acae3a6f1a5168b20 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Fri, 13 Jul 2018 18:08:14 +0800
4Subject: [PATCH] support musl
5
6Upstream-Status: Pending
7
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9---
10 memory/jemalloc/src/src/pages.c | 1 -
11 memory/mozjemalloc/jemalloc.c | 7 +++----
12 mozglue/misc/TimeStamp_darwin.cpp | 1 -
13 mozglue/misc/TimeStamp_posix.cpp | 1 -
14 nsprpub/pr/src/misc/prsystem.c | 1 -
15 python/psutil/psutil/_psutil_bsd.c | 1 -
16 python/psutil/psutil/_psutil_osx.c | 1 -
17 python/psutil/psutil/arch/bsd/process_info.c | 1 -
18 python/psutil/psutil/arch/osx/process_info.c | 1 -
19 9 files changed, 3 insertions(+), 12 deletions(-)
20
21diff --git a/memory/jemalloc/src/src/pages.c b/memory/jemalloc/src/src/pages.c
22index 647952a..7b964c8 100644
23--- a/memory/jemalloc/src/src/pages.c
24+++ b/memory/jemalloc/src/src/pages.c
25@@ -2,7 +2,6 @@
26 #include "jemalloc/internal/jemalloc_internal.h"
27
28 #ifdef JEMALLOC_SYSCTL_VM_OVERCOMMIT
29-#include <sys/sysctl.h>
30 #endif
31
32 /******************************************************************************/
33diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
34index 5d4d83a..c618de9 100644
35--- a/memory/mozjemalloc/jemalloc.c
36+++ b/memory/mozjemalloc/jemalloc.c
37@@ -332,7 +332,6 @@ __FBSDID("$FreeBSD: head/lib/libc/stdlib/malloc.c 180599 2008-07-18 19:35:44Z ja
38 #include <sys/time.h>
39 #include <sys/types.h>
40 #if !defined(MOZ_MEMORY_SOLARIS) && !defined(MOZ_MEMORY_ANDROID)
41-#include <sys/sysctl.h>
42 #endif
43 #include <sys/uio.h>
44 #ifndef MOZ_MEMORY
45@@ -674,7 +673,7 @@ static bool malloc_initialized = false;
46 #elif defined(MOZ_MEMORY_DARWIN)
47 static malloc_mutex_t init_lock = {OS_SPINLOCK_INIT};
48 #elif defined(MOZ_MEMORY_LINUX) && !defined(MOZ_MEMORY_ANDROID)
49-static malloc_mutex_t init_lock = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
50+static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
51 #elif defined(MOZ_MEMORY)
52 static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
53 #else
54@@ -1644,7 +1643,7 @@ malloc_mutex_init(malloc_mutex_t *mutex)
55 pthread_mutexattr_t attr;
56 if (pthread_mutexattr_init(&attr) != 0)
57 return (true);
58- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
59+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
60 if (pthread_mutex_init(mutex, &attr) != 0) {
61 pthread_mutexattr_destroy(&attr);
62 return (true);
63@@ -1709,7 +1708,7 @@ malloc_spin_init(malloc_spinlock_t *lock)
64 pthread_mutexattr_t attr;
65 if (pthread_mutexattr_init(&attr) != 0)
66 return (true);
67- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
68+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
69 if (pthread_mutex_init(lock, &attr) != 0) {
70 pthread_mutexattr_destroy(&attr);
71 return (true);
72diff --git a/mozglue/misc/TimeStamp_darwin.cpp b/mozglue/misc/TimeStamp_darwin.cpp
73index f30bc98..3998c9c 100644
74--- a/mozglue/misc/TimeStamp_darwin.cpp
75+++ b/mozglue/misc/TimeStamp_darwin.cpp
76@@ -18,7 +18,6 @@
77
78 #include <mach/mach_time.h>
79 #include <sys/time.h>
80-#include <sys/sysctl.h>
81 #include <time.h>
82 #include <unistd.h>
83
84diff --git a/mozglue/misc/TimeStamp_posix.cpp b/mozglue/misc/TimeStamp_posix.cpp
85index 05dedde..d9e30f2 100644
86--- a/mozglue/misc/TimeStamp_posix.cpp
87+++ b/mozglue/misc/TimeStamp_posix.cpp
88@@ -21,7 +21,6 @@
89 #if defined(__DragonFly__) || defined(__FreeBSD__) \
90 || defined(__NetBSD__) || defined(__OpenBSD__)
91 #include <sys/param.h>
92-#include <sys/sysctl.h>
93 #endif
94
95 #if defined(__DragonFly__) || defined(__FreeBSD__)
96diff --git a/nsprpub/pr/src/misc/prsystem.c b/nsprpub/pr/src/misc/prsystem.c
97index eba85fb..54b57bb 100644
98--- a/nsprpub/pr/src/misc/prsystem.c
99+++ b/nsprpub/pr/src/misc/prsystem.c
100@@ -27,7 +27,6 @@
101 || defined(OPENBSD) || defined(DRAGONFLY) || defined(DARWIN)
102 #define _PR_HAVE_SYSCTL
103 #include <sys/param.h>
104-#include <sys/sysctl.h>
105 #endif
106
107 #if defined(DARWIN)
108diff --git a/python/psutil/psutil/_psutil_bsd.c b/python/psutil/psutil/_psutil_bsd.c
109index 7b6e561..0a91262 100644
110--- a/python/psutil/psutil/_psutil_bsd.c
111+++ b/python/psutil/psutil/_psutil_bsd.c
112@@ -16,7 +16,6 @@
113 #include <fcntl.h>
114 #include <paths.h>
115 #include <sys/types.h>
116-#include <sys/sysctl.h>
117 #include <sys/param.h>
118 #include <sys/user.h>
119 #include <sys/proc.h>
120diff --git a/python/psutil/psutil/_psutil_osx.c b/python/psutil/psutil/_psutil_osx.c
121index 3ebf8ff..b3910ba 100644
122--- a/python/psutil/psutil/_psutil_osx.c
123+++ b/python/psutil/psutil/_psutil_osx.c
124@@ -13,7 +13,6 @@
125 #include <stdlib.h>
126 #include <stdio.h>
127 #include <utmpx.h>
128-#include <sys/sysctl.h>
129 #include <sys/vmmeter.h>
130 #include <libproc.h>
131 #include <sys/proc_info.h>
132diff --git a/python/psutil/psutil/arch/bsd/process_info.c b/python/psutil/psutil/arch/bsd/process_info.c
133index 4d73924..46f288d 100644
134--- a/python/psutil/psutil/arch/bsd/process_info.c
135+++ b/python/psutil/psutil/arch/bsd/process_info.c
136@@ -15,7 +15,6 @@
137 #include <stdio.h>
138 #include <string.h>
139 #include <sys/types.h>
140-#include <sys/sysctl.h>
141 #include <sys/param.h>
142 #include <sys/user.h>
143 #include <sys/proc.h>
144diff --git a/python/psutil/psutil/arch/osx/process_info.c b/python/psutil/psutil/arch/osx/process_info.c
145index b6dd5bb..62a838f 100644
146--- a/python/psutil/psutil/arch/osx/process_info.c
147+++ b/python/psutil/psutil/arch/osx/process_info.c
148@@ -16,7 +16,6 @@
149 #include <stdlib.h>
150 #include <stdio.h>
151 #include <signal.h>
152-#include <sys/sysctl.h>
153 #include <libproc.h>
154
155 #include "process_info.h"
156--
1572.7.4
158
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 6432e1fb7..9194e346a 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 @@
1From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001 1From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001
2From: Maciej Borzecki <maciej.borzecki@open-rnd.pl> 2From: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
3Date: Tue, 5 Jan 2016 22:04:17 +0100 3Date: Tue, 5 Jan 2016 22:04:17 +0100
4Subject: [PATCH] fix cross compilation on i586 targets 4Subject: [PATCH] fix cross compilation on i586 targets
@@ -10,37 +10,26 @@ regenerate configure, similar fix is applied there.
10Upstream-Status: Inappropriate [embedded specific] 10Upstream-Status: Inappropriate [embedded specific]
11 11
12Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> 12Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
13
14Rebase to 52.8.1
15Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13--- 16---
14 js/src/configure | 2 +- 17 js/src/old-configure | 2 +-
15 js/src/configure.in | 2 +- 18 1 file changed, 1 insertion(+), 1 deletion(-)
16 2 files changed, 2 insertions(+), 2 deletions(-)
17 19
18diff --git a/js/src/configure b/js/src/configure 20diff --git a/js/src/old-configure b/js/src/old-configure
19index d019b0fdba44233596541de94307010d85a8e32e..5aa40f757a3dbb7d6887175046f44212c15c2eac 100755 21index 8a8ef52..d7afcff 100644
20--- a/js/src/configure 22--- a/js/src/old-configure
21+++ b/js/src/configure 23+++ b/js/src/old-configure
22@@ -5555,7 +5555,7 @@ TARGET_MD_ARCH=unix 24@@ -3964,7 +3964,7 @@ IMPORT_LIB_SUFFIX=
23 DIRENT_INO=d_ino 25 DIRENT_INO=d_ino
24 MOZ_USER_DIR=".mozilla" 26 MOZ_USER_DIR=".mozilla"
25 27
26-MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' 28-MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
27+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' 29+MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin"
28
29 MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)'
30
31diff --git a/js/src/configure.in b/js/src/configure.in
32index 0673aca12f6d83035549ade2a4a83906bf91f0f0..39b22724f9535ac1a6dba04658c91e4ef667fc47 100644
33--- a/js/src/configure.in
34+++ b/js/src/configure.in
35@@ -919,7 +919,7 @@ TARGET_MD_ARCH=unix
36 DIRENT_INO=d_ino
37 MOZ_USER_DIR=".mozilla"
38 30
39-MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib'
40+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin'
41 31
42 MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)'
43 32
44-- 33--
452.5.0 342.7.4
46 35
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 83f454319..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
+++ /dev/null
@@ -1,112 +0,0 @@
1From 1d1fa95c8ff7697e46343385a79a8f7e5c514a87 Mon Sep 17 00:00:00 2001
2From: Zheng Xu <zheng.xu@linaro.org>
3Date: Fri, 2 Sep 2016 17:40:05 +0800
4Subject: [PATCH] Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits
5 are clear. r=ehoogeveen
6
7There might be 48-bit VA on arm64 depending on kernel configuration.
8Manually mmap heap memory to align with the assumption made by JS engine.
9
10Change-Id: Ic5d2b2fe4b758b3c87cc0688348af7e71a991146
11
12Upstream-status: Backport
13
14---
15 js/src/gc/Memory.cpp | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++--
16 1 file changed, 71 insertions(+), 2 deletions(-)
17
18diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
19index e5ad018..4149adf 100644
20--- a/js/src/gc/Memory.cpp
21+++ b/js/src/gc/Memory.cpp
22@@ -309,6 +309,75 @@ InitMemorySubsystem()
23 #endif
24 }
25
26+static inline void *
27+MapMemory(size_t length, int prot, int flags, int fd, off_t offset)
28+{
29+#if defined(__ia64__)
30+ /*
31+ * The JS engine assumes that all allocated pointers have their high 17 bits clear,
32+ * which ia64's mmap doesn't support directly. However, we can emulate it by passing
33+ * mmap an "addr" parameter with those bits clear. The mmap will return that address,
34+ * or the nearest available memory above that address, providing a near-guarantee
35+ * that those bits are clear. If they are not, we return NULL below to indicate
36+ * out-of-memory.
37+ *
38+ * The addr is chosen as 0x0000070000000000, which still allows about 120TB of virtual
39+ * address space.
40+ *
41+ * See Bug 589735 for more information.
42+ */
43+ void *region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset);
44+ if (region == MAP_FAILED)
45+ return MAP_FAILED;
46+ /*
47+ * If the allocated memory doesn't have its upper 17 bits clear, consider it
48+ * as out of memory.
49+ */
50+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
51+ JS_ALWAYS_TRUE(0 == munmap(region, length));
52+ return MAP_FAILED;
53+ }
54+ return region;
55+#elif defined(__aarch64__)
56+ /*
57+ * There might be similar virtual address issue on arm64 which depends on
58+ * hardware and kernel configurations. But the work around is slightly
59+ * different due to the different mmap behavior.
60+ *
61+ * TODO: Merge with the above code block if this implementation works for
62+ * ia64 and sparc64.
63+ */
64+ const uintptr_t start = UINT64_C(0x0000070000000000);
65+ const uintptr_t end = UINT64_C(0x0000800000000000);
66+ const uintptr_t step = ChunkSize;
67+ /*
68+ * Optimization options if there are too many retries in practice:
69+ * 1. Examine /proc/self/maps to find an available address. This file is
70+ * not always available, however. In addition, even if we examine
71+ * /proc/self/maps, we may still need to retry several times due to
72+ * racing with other threads.
73+ * 2. Use a global/static variable with lock to track the addresses we have
74+ * allocated or tried.
75+ */
76+ uintptr_t hint;
77+ void* region = MAP_FAILED;
78+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
79+ region = mmap((void*)hint, length, prot, flags, fd, offset);
80+ if (region != MAP_FAILED) {
81+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
82+ if (munmap(region, length)) {
83+ MOZ_ASSERT(errno == ENOMEM);
84+ }
85+ region = MAP_FAILED;
86+ }
87+ }
88+ }
89+ return region == MAP_FAILED ? NULL : region;
90+#else
91+ return mmap(NULL, length, prot, flags, fd, offset);
92+#endif
93+}
94+
95 void *
96 MapAlignedPages(size_t size, size_t alignment)
97 {
98@@ -322,12 +391,12 @@ MapAlignedPages(size_t size, size_t alignment)
99
100 /* Special case: If we want page alignment, no further work is needed. */
101 if (alignment == PageSize) {
102- return mmap(NULL, size, prot, flags, -1, 0);
103+ return MapMemory(size, prot, flags, -1, 0);
104 }
105
106 /* Overallocate and unmap the region's edges. */
107 size_t reqSize = Min(size + 2 * alignment, 2 * size);
108- void *region = mmap(NULL, reqSize, prot, flags, -1, 0);
109+ void *region = MapMemory(reqSize, prot, flags, -1, 0);
110 if (region == MAP_FAILED)
111 return NULL;
112
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 c5979c97b..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/Update-Double-Conversion.patch
+++ /dev/null
@@ -1,1732 +0,0 @@
1From b4961d6e1d273dd9643fc3c055163d5cd3362fb7 Mon Sep 17 00:00:00 2001
2From: Alistair Francis <alistair.francis@wdc.com>
3Date: Fri, 1 Jun 2018 14:47:31 -0700
4Subject: [PATCH] Update double conversion
5
6Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
7---
8 mfbt/double-conversion/COPYING | 26 ++
9 mfbt/double-conversion/bignum-dtoa.cc | 19 +-
10 mfbt/double-conversion/bignum-dtoa.h | 2 +-
11 mfbt/double-conversion/bignum.cc | 39 +--
12 mfbt/double-conversion/bignum.h | 5 +-
13 mfbt/double-conversion/cached-powers.cc | 14 +-
14 mfbt/double-conversion/cached-powers.h | 2 +-
15 mfbt/double-conversion/diy-fp.cc | 4 +-
16 mfbt/double-conversion/diy-fp.h | 24 +-
17 mfbt/double-conversion/double-conversion.cc | 293 ++++++++++++++------
18 mfbt/double-conversion/double-conversion.h | 78 +++---
19 mfbt/double-conversion/fast-dtoa.cc | 29 +-
20 mfbt/double-conversion/fast-dtoa.h | 2 +-
21 mfbt/double-conversion/fixed-dtoa.cc | 23 +-
22 mfbt/double-conversion/fixed-dtoa.h | 2 +-
23 mfbt/double-conversion/ieee.h | 8 +-
24 mfbt/double-conversion/strtod.cc | 59 ++--
25 mfbt/double-conversion/strtod.h | 2 +-
26 mfbt/double-conversion/utils.h | 62 +++--
27 19 files changed, 465 insertions(+), 228 deletions(-)
28 create mode 100644 mfbt/double-conversion/COPYING
29
30diff --git a/mfbt/double-conversion/COPYING b/mfbt/double-conversion/COPYING
31new file mode 100644
32index 0000000..933718a
33--- /dev/null
34+++ b/mfbt/double-conversion/COPYING
35@@ -0,0 +1,26 @@
36+Copyright 2006-2011, the V8 project authors. All rights reserved.
37+Redistribution and use in source and binary forms, with or without
38+modification, are permitted provided that the following conditions are
39+met:
40+
41+ * Redistributions of source code must retain the above copyright
42+ notice, this list of conditions and the following disclaimer.
43+ * Redistributions in binary form must reproduce the above
44+ copyright notice, this list of conditions and the following
45+ disclaimer in the documentation and/or other materials provided
46+ with the distribution.
47+ * Neither the name of Google Inc. nor the names of its
48+ contributors may be used to endorse or promote products derived
49+ from this software without specific prior written permission.
50+
51+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
52+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
53+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
54+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
55+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
56+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
57+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
58+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
59+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
60+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
61+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
62diff --git a/mfbt/double-conversion/bignum-dtoa.cc b/mfbt/double-conversion/bignum-dtoa.cc
63index b6c2e85..06bdf55 100644
64--- a/mfbt/double-conversion/bignum-dtoa.cc
65+++ b/mfbt/double-conversion/bignum-dtoa.cc
66@@ -25,12 +25,12 @@
67 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
68 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
69
70-#include <math.h>
71+#include <cmath>
72
73-#include "bignum-dtoa.h"
74+#include <bignum-dtoa.h>
75
76-#include "bignum.h"
77-#include "ieee.h"
78+#include <bignum.h>
79+#include <ieee.h>
80
81 namespace double_conversion {
82
83@@ -192,13 +192,13 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator,
84 delta_plus = delta_minus;
85 }
86 *length = 0;
87- while (true) {
88+ for (;;) {
89 uint16_t digit;
90 digit = numerator->DivideModuloIntBignum(*denominator);
91 ASSERT(digit <= 9); // digit is a uint16_t and therefore always positive.
92 // digit = numerator / denominator (integer division).
93 // numerator = numerator % denominator.
94- buffer[(*length)++] = digit + '0';
95+ buffer[(*length)++] = static_cast<char>(digit + '0');
96
97 // Can we stop already?
98 // If the remainder of the division is less than the distance to the lower
99@@ -282,7 +282,7 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator,
100 // exponent (decimal_point), when rounding upwards.
101 static void GenerateCountedDigits(int count, int* decimal_point,
102 Bignum* numerator, Bignum* denominator,
103- Vector<char>(buffer), int* length) {
104+ Vector<char> buffer, int* length) {
105 ASSERT(count >= 0);
106 for (int i = 0; i < count - 1; ++i) {
107 uint16_t digit;
108@@ -290,7 +290,7 @@ static void GenerateCountedDigits(int count, int* decimal_point,
109 ASSERT(digit <= 9); // digit is a uint16_t and therefore always positive.
110 // digit = numerator / denominator (integer division).
111 // numerator = numerator % denominator.
112- buffer[i] = digit + '0';
113+ buffer[i] = static_cast<char>(digit + '0');
114 // Prepare for next iteration.
115 numerator->Times10();
116 }
117@@ -300,7 +300,8 @@ static void GenerateCountedDigits(int count, int* decimal_point,
118 if (Bignum::PlusCompare(*numerator, *numerator, *denominator) >= 0) {
119 digit++;
120 }
121- buffer[count - 1] = digit + '0';
122+ ASSERT(digit <= 10);
123+ buffer[count - 1] = static_cast<char>(digit + '0');
124 // Correct bad digits (in case we had a sequence of '9's). Propagate the
125 // carry until we hat a non-'9' or til we reach the first digit.
126 for (int i = count - 1; i > 0; --i) {
127diff --git a/mfbt/double-conversion/bignum-dtoa.h b/mfbt/double-conversion/bignum-dtoa.h
128index 34b9619..88d936a 100644
129--- a/mfbt/double-conversion/bignum-dtoa.h
130+++ b/mfbt/double-conversion/bignum-dtoa.h
131@@ -28,7 +28,7 @@
132 #ifndef DOUBLE_CONVERSION_BIGNUM_DTOA_H_
133 #define DOUBLE_CONVERSION_BIGNUM_DTOA_H_
134
135-#include "utils.h"
136+#include <utils.h>
137
138 namespace double_conversion {
139
140diff --git a/mfbt/double-conversion/bignum.cc b/mfbt/double-conversion/bignum.cc
141index 747491a..4786c2e 100644
142--- a/mfbt/double-conversion/bignum.cc
143+++ b/mfbt/double-conversion/bignum.cc
144@@ -25,13 +25,13 @@
145 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
146 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
147
148-#include "bignum.h"
149-#include "utils.h"
150+#include <bignum.h>
151+#include <utils.h>
152
153 namespace double_conversion {
154
155 Bignum::Bignum()
156- : bigits_(bigits_buffer_, kBigitCapacity), used_digits_(0), exponent_(0) {
157+ : bigits_buffer_(), bigits_(bigits_buffer_, kBigitCapacity), used_digits_(0), exponent_(0) {
158 for (int i = 0; i < kBigitCapacity; ++i) {
159 bigits_[i] = 0;
160 }
161@@ -40,6 +40,7 @@ Bignum::Bignum()
162
163 template<typename S>
164 static int BitSize(S value) {
165+ (void) value; // Mark variable as used.
166 return 8 * sizeof(value);
167 }
168
169@@ -103,7 +104,7 @@ void Bignum::AssignDecimalString(Vector<const char> value) {
170 const int kMaxUint64DecimalDigits = 19;
171 Zero();
172 int length = value.length();
173- int pos = 0;
174+ unsigned int pos = 0;
175 // Let's just say that each digit needs 4 bits.
176 while (length >= kMaxUint64DecimalDigits) {
177 uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits);
178@@ -122,9 +123,8 @@ void Bignum::AssignDecimalString(Vector<const char> value) {
179 static int HexCharValue(char c) {
180 if ('0' <= c && c <= '9') return c - '0';
181 if ('a' <= c && c <= 'f') return 10 + c - 'a';
182- if ('A' <= c && c <= 'F') return 10 + c - 'A';
183- UNREACHABLE();
184- return 0; // To make compiler happy.
185+ ASSERT('A' <= c && c <= 'F');
186+ return 10 + c - 'A';
187 }
188
189
190@@ -445,26 +445,27 @@ void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) {
191 mask >>= 2;
192 uint64_t this_value = base;
193
194- bool delayed_multipliciation = false;
195+ bool delayed_multiplication = false;
196 const uint64_t max_32bits = 0xFFFFFFFF;
197 while (mask != 0 && this_value <= max_32bits) {
198 this_value = this_value * this_value;
199 // Verify that there is enough space in this_value to perform the
200 // multiplication. The first bit_size bits must be 0.
201 if ((power_exponent & mask) != 0) {
202+ ASSERT(bit_size > 0);
203 uint64_t base_bits_mask =
204 ~((static_cast<uint64_t>(1) << (64 - bit_size)) - 1);
205 bool high_bits_zero = (this_value & base_bits_mask) == 0;
206 if (high_bits_zero) {
207 this_value *= base;
208 } else {
209- delayed_multipliciation = true;
210+ delayed_multiplication = true;
211 }
212 }
213 mask >>= 1;
214 }
215 AssignUInt64(this_value);
216- if (delayed_multipliciation) {
217+ if (delayed_multiplication) {
218 MultiplyByUInt32(base);
219 }
220
221@@ -501,13 +502,14 @@ uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) {
222 // Start by removing multiples of 'other' until both numbers have the same
223 // number of digits.
224 while (BigitLength() > other.BigitLength()) {
225- // This naive approach is extremely inefficient if the this divided other
226- // might be big. This function is implemented for doubleToString where
227+ // This naive approach is extremely inefficient if `this` divided by other
228+ // is big. This function is implemented for doubleToString where
229 // the result should be small (less than 10).
230 ASSERT(other.bigits_[other.used_digits_ - 1] >= ((1 << kBigitSize) / 16));
231+ ASSERT(bigits_[used_digits_ - 1] < 0x10000);
232 // Remove the multiples of the first digit.
233 // Example this = 23 and other equals 9. -> Remove 2 multiples.
234- result += bigits_[used_digits_ - 1];
235+ result += static_cast<uint16_t>(bigits_[used_digits_ - 1]);
236 SubtractTimes(other, bigits_[used_digits_ - 1]);
237 }
238
239@@ -523,13 +525,15 @@ uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) {
240 // Shortcut for easy (and common) case.
241 int quotient = this_bigit / other_bigit;
242 bigits_[used_digits_ - 1] = this_bigit - other_bigit * quotient;
243- result += quotient;
244+ ASSERT(quotient < 0x10000);
245+ result += static_cast<uint16_t>(quotient);
246 Clamp();
247 return result;
248 }
249
250 int division_estimate = this_bigit / (other_bigit + 1);
251- result += division_estimate;
252+ ASSERT(division_estimate < 0x10000);
253+ result += static_cast<uint16_t>(division_estimate);
254 SubtractTimes(other, division_estimate);
255
256 if (other_bigit * (division_estimate + 1) > this_bigit) {
257@@ -560,8 +564,8 @@ static int SizeInHexChars(S number) {
258
259 static char HexCharOfValue(int value) {
260 ASSERT(0 <= value && value <= 16);
261- if (value < 10) return value + '0';
262- return value - 10 + 'A';
263+ if (value < 10) return static_cast<char>(value + '0');
264+ return static_cast<char>(value - 10 + 'A');
265 }
266
267
268@@ -755,7 +759,6 @@ void Bignum::SubtractTimes(const Bignum& other, int factor) {
269 Chunk difference = bigits_[i] - borrow;
270 bigits_[i] = difference & kBigitMask;
271 borrow = difference >> (kChunkSize - 1);
272- ++i;
273 }
274 Clamp();
275 }
276diff --git a/mfbt/double-conversion/bignum.h b/mfbt/double-conversion/bignum.h
277index 5ec3544..4fdad0c 100644
278--- a/mfbt/double-conversion/bignum.h
279+++ b/mfbt/double-conversion/bignum.h
280@@ -28,7 +28,7 @@
281 #ifndef DOUBLE_CONVERSION_BIGNUM_H_
282 #define DOUBLE_CONVERSION_BIGNUM_H_
283
284-#include "utils.h"
285+#include <utils.h>
286
287 namespace double_conversion {
288
289@@ -49,7 +49,6 @@ class Bignum {
290
291 void AssignPowerUInt16(uint16_t base, int exponent);
292
293- void AddUInt16(uint16_t operand);
294 void AddUInt64(uint64_t operand);
295 void AddBignum(const Bignum& other);
296 // Precondition: this >= other.
297@@ -137,7 +136,7 @@ class Bignum {
298 // The Bignum's value equals value(bigits_) * 2^(exponent_ * kBigitSize).
299 int exponent_;
300
301- DISALLOW_COPY_AND_ASSIGN(Bignum);
302+ DC_DISALLOW_COPY_AND_ASSIGN(Bignum);
303 };
304
305 } // namespace double_conversion
306diff --git a/mfbt/double-conversion/cached-powers.cc b/mfbt/double-conversion/cached-powers.cc
307index c676429..06e819d 100644
308--- a/mfbt/double-conversion/cached-powers.cc
309+++ b/mfbt/double-conversion/cached-powers.cc
310@@ -25,13 +25,13 @@
311 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
312 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
313
314-#include <stdarg.h>
315-#include <limits.h>
316-#include <math.h>
317+#include <climits>
318+#include <cmath>
319+#include <cstdarg>
320
321-#include "utils.h"
322+#include <utils.h>
323
324-#include "cached-powers.h"
325+#include <cached-powers.h>
326
327 namespace double_conversion {
328
329@@ -131,7 +131,6 @@ static const CachedPower kCachedPowers[] = {
330 {UINT64_2PART_C(0xaf87023b, 9bf0ee6b), 1066, 340},
331 };
332
333-static const int kCachedPowersLength = ARRAY_SIZE(kCachedPowers);
334 static const int kCachedPowersOffset = 348; // -1 * the first decimal_exponent.
335 static const double kD_1_LOG2_10 = 0.30102999566398114; // 1 / lg(10)
336 // Difference between the decimal exponents in the table above.
337@@ -149,9 +148,10 @@ void PowersOfTenCache::GetCachedPowerForBinaryExponentRange(
338 int foo = kCachedPowersOffset;
339 int index =
340 (foo + static_cast<int>(k) - 1) / kDecimalExponentDistance + 1;
341- ASSERT(0 <= index && index < kCachedPowersLength);
342+ ASSERT(0 <= index && index < static_cast<int>(ARRAY_SIZE(kCachedPowers)));
343 CachedPower cached_power = kCachedPowers[index];
344 ASSERT(min_exponent <= cached_power.binary_exponent);
345+ (void) max_exponent; // Mark variable as used.
346 ASSERT(cached_power.binary_exponent <= max_exponent);
347 *decimal_exponent = cached_power.decimal_exponent;
348 *power = DiyFp(cached_power.significand, cached_power.binary_exponent);
349diff --git a/mfbt/double-conversion/cached-powers.h b/mfbt/double-conversion/cached-powers.h
350index 61a5061..a425d7c 100644
351--- a/mfbt/double-conversion/cached-powers.h
352+++ b/mfbt/double-conversion/cached-powers.h
353@@ -28,7 +28,7 @@
354 #ifndef DOUBLE_CONVERSION_CACHED_POWERS_H_
355 #define DOUBLE_CONVERSION_CACHED_POWERS_H_
356
357-#include "diy-fp.h"
358+#include <diy-fp.h>
359
360 namespace double_conversion {
361
362diff --git a/mfbt/double-conversion/diy-fp.cc b/mfbt/double-conversion/diy-fp.cc
363index ddd1891..f31cf60 100644
364--- a/mfbt/double-conversion/diy-fp.cc
365+++ b/mfbt/double-conversion/diy-fp.cc
366@@ -26,8 +26,8 @@
367 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
368
369
370-#include "diy-fp.h"
371-#include "utils.h"
372+#include <diy-fp.h>
373+#include <utils.h>
374
375 namespace double_conversion {
376
377diff --git a/mfbt/double-conversion/diy-fp.h b/mfbt/double-conversion/diy-fp.h
378index 9dcf8fb..80a8c4c 100644
379--- a/mfbt/double-conversion/diy-fp.h
380+++ b/mfbt/double-conversion/diy-fp.h
381@@ -28,7 +28,7 @@
382 #ifndef DOUBLE_CONVERSION_DIY_FP_H_
383 #define DOUBLE_CONVERSION_DIY_FP_H_
384
385-#include "utils.h"
386+#include <utils.h>
387
388 namespace double_conversion {
389
390@@ -42,7 +42,7 @@ class DiyFp {
391 static const int kSignificandSize = 64;
392
393 DiyFp() : f_(0), e_(0) {}
394- DiyFp(uint64_t f, int e) : f_(f), e_(e) {}
395+ DiyFp(uint64_t significand, int exponent) : f_(significand), e_(exponent) {}
396
397 // this = this - other.
398 // The exponents of both numbers must be the same and the significand of this
399@@ -76,22 +76,22 @@ class DiyFp {
400
401 void Normalize() {
402 ASSERT(f_ != 0);
403- uint64_t f = f_;
404- int e = e_;
405+ uint64_t significand = f_;
406+ int exponent = e_;
407
408 // This method is mainly called for normalizing boundaries. In general
409 // boundaries need to be shifted by 10 bits. We thus optimize for this case.
410 const uint64_t k10MSBits = UINT64_2PART_C(0xFFC00000, 00000000);
411- while ((f & k10MSBits) == 0) {
412- f <<= 10;
413- e -= 10;
414+ while ((significand & k10MSBits) == 0) {
415+ significand <<= 10;
416+ exponent -= 10;
417 }
418- while ((f & kUint64MSB) == 0) {
419- f <<= 1;
420- e--;
421+ while ((significand & kUint64MSB) == 0) {
422+ significand <<= 1;
423+ exponent--;
424 }
425- f_ = f;
426- e_ = e;
427+ f_ = significand;
428+ e_ = exponent;
429 }
430
431 static DiyFp Normalize(const DiyFp& a) {
432diff --git a/mfbt/double-conversion/double-conversion.cc b/mfbt/double-conversion/double-conversion.cc
433index 650137b..7819267 100644
434--- a/mfbt/double-conversion/double-conversion.cc
435+++ b/mfbt/double-conversion/double-conversion.cc
436@@ -25,17 +25,18 @@
437 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
438 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
439
440-#include <limits.h>
441-#include <math.h>
442+#include <climits>
443+#include <locale>
444+#include <cmath>
445
446-#include "double-conversion.h"
447+#include <double-conversion.h>
448
449-#include "bignum-dtoa.h"
450-#include "fast-dtoa.h"
451-#include "fixed-dtoa.h"
452-#include "ieee.h"
453-#include "strtod.h"
454-#include "utils.h"
455+#include <bignum-dtoa.h>
456+#include <fast-dtoa.h>
457+#include <fixed-dtoa.h>
458+#include <ieee.h>
459+#include <strtod.h>
460+#include <utils.h>
461
462 namespace double_conversion {
463
464@@ -118,7 +119,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
465 StringBuilder* result_builder) const {
466 // Create a representation that is padded with zeros if needed.
467 if (decimal_point <= 0) {
468- // "0.00000decimal_rep".
469+ // "0.00000decimal_rep" or "0.000decimal_rep00".
470 result_builder->AddCharacter('0');
471 if (digits_after_point > 0) {
472 result_builder->AddCharacter('.');
473@@ -129,7 +130,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
474 result_builder->AddPadding('0', remaining_digits);
475 }
476 } else if (decimal_point >= length) {
477- // "decimal_rep0000.00000" or "decimal_rep.0000"
478+ // "decimal_rep0000.00000" or "decimal_rep.0000".
479 result_builder->AddSubstring(decimal_digits, length);
480 result_builder->AddPadding('0', decimal_point - length);
481 if (digits_after_point > 0) {
482@@ -137,7 +138,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
483 result_builder->AddPadding('0', digits_after_point);
484 }
485 } else {
486- // "decima.l_rep000"
487+ // "decima.l_rep000".
488 ASSERT(digits_after_point > 0);
489 result_builder->AddSubstring(decimal_digits, decimal_point);
490 result_builder->AddCharacter('.');
491@@ -162,7 +163,7 @@ bool DoubleToStringConverter::ToShortestIeeeNumber(
492 double value,
493 StringBuilder* result_builder,
494 DoubleToStringConverter::DtoaMode mode) const {
495- assert(mode == SHORTEST || mode == SHORTEST_SINGLE);
496+ ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE);
497 if (Double(value).IsSpecial()) {
498 return HandleSpecialValues(value, result_builder);
499 }
500@@ -348,7 +349,6 @@ static BignumDtoaMode DtoaToBignumDtoaMode(
501 case DoubleToStringConverter::PRECISION: return BIGNUM_DTOA_PRECISION;
502 default:
503 UNREACHABLE();
504- return BIGNUM_DTOA_SHORTEST; // To silence compiler.
505 }
506 }
507
508@@ -403,8 +403,8 @@ void DoubleToStringConverter::DoubleToAscii(double v,
509 vector, length, point);
510 break;
511 default:
512- UNREACHABLE();
513 fast_worked = false;
514+ UNREACHABLE();
515 }
516 if (fast_worked) return;
517
518@@ -415,20 +415,55 @@ void DoubleToStringConverter::DoubleToAscii(double v,
519 }
520
521
522-// Consumes the given substring from the iterator.
523-// Returns false, if the substring does not match.
524-static bool ConsumeSubString(const char** current,
525- const char* end,
526- const char* substring) {
527- ASSERT(**current == *substring);
528+namespace {
529+
530+inline char ToLower(char ch) {
531+ static const std::ctype<char>& cType =
532+ std::use_facet<std::ctype<char> >(std::locale::classic());
533+ return cType.tolower(ch);
534+}
535+
536+inline char Pass(char ch) {
537+ return ch;
538+}
539+
540+template <class Iterator, class Converter>
541+static inline bool ConsumeSubStringImpl(Iterator* current,
542+ Iterator end,
543+ const char* substring,
544+ Converter converter) {
545+ ASSERT(converter(**current) == *substring);
546 for (substring++; *substring != '\0'; substring++) {
547 ++*current;
548- if (*current == end || **current != *substring) return false;
549+ if (*current == end || converter(**current) != *substring) {
550+ return false;
551+ }
552 }
553 ++*current;
554 return true;
555 }
556
557+// Consumes the given substring from the iterator.
558+// Returns false, if the substring does not match.
559+template <class Iterator>
560+static bool ConsumeSubString(Iterator* current,
561+ Iterator end,
562+ const char* substring,
563+ bool allow_case_insensibility) {
564+ if (allow_case_insensibility) {
565+ return ConsumeSubStringImpl(current, end, substring, ToLower);
566+ } else {
567+ return ConsumeSubStringImpl(current, end, substring, Pass);
568+ }
569+}
570+
571+// Consumes first character of the str is equal to ch
572+inline bool ConsumeFirstCharacter(char ch,
573+ const char* str,
574+ bool case_insensibility) {
575+ return case_insensibility ? ToLower(ch) == str[0] : ch == str[0];
576+}
577+} // namespace
578
579 // Maximum number of significant digits in decimal representation.
580 // The longest possible double in decimal representation is
581@@ -440,10 +475,36 @@ static bool ConsumeSubString(const char** current,
582 const int kMaxSignificantDigits = 772;
583
584
585+static const char kWhitespaceTable7[] = { 32, 13, 10, 9, 11, 12 };
586+static const int kWhitespaceTable7Length = ARRAY_SIZE(kWhitespaceTable7);
587+
588+
589+static const uc16 kWhitespaceTable16[] = {
590+ 160, 8232, 8233, 5760, 6158, 8192, 8193, 8194, 8195,
591+ 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279
592+};
593+static const int kWhitespaceTable16Length = ARRAY_SIZE(kWhitespaceTable16);
594+
595+
596+static bool isWhitespace(int x) {
597+ if (x < 128) {
598+ for (int i = 0; i < kWhitespaceTable7Length; i++) {
599+ if (kWhitespaceTable7[i] == x) return true;
600+ }
601+ } else {
602+ for (int i = 0; i < kWhitespaceTable16Length; i++) {
603+ if (kWhitespaceTable16[i] == x) return true;
604+ }
605+ }
606+ return false;
607+}
608+
609+
610 // Returns true if a nonspace found and false if the end has reached.
611-static inline bool AdvanceToNonspace(const char** current, const char* end) {
612+template <class Iterator>
613+static inline bool AdvanceToNonspace(Iterator* current, Iterator end) {
614 while (*current != end) {
615- if (**current != ' ') return true;
616+ if (!isWhitespace(**current)) return true;
617 ++*current;
618 }
619 return false;
620@@ -462,26 +523,57 @@ static double SignedZero(bool sign) {
621 }
622
623
624+// Returns true if 'c' is a decimal digit that is valid for the given radix.
625+//
626+// The function is small and could be inlined, but VS2012 emitted a warning
627+// because it constant-propagated the radix and concluded that the last
628+// condition was always true. By moving it into a separate function the
629+// compiler wouldn't warn anymore.
630+#if _MSC_VER
631+#pragma optimize("",off)
632+static bool IsDecimalDigitForRadix(int c, int radix) {
633+ return '0' <= c && c <= '9' && (c - '0') < radix;
634+}
635+#pragma optimize("",on)
636+#else
637+static bool inline IsDecimalDigitForRadix(int c, int radix) {
638+ return '0' <= c && c <= '9' && (c - '0') < radix;
639+}
640+#endif
641+// Returns true if 'c' is a character digit that is valid for the given radix.
642+// The 'a_character' should be 'a' or 'A'.
643+//
644+// The function is small and could be inlined, but VS2012 emitted a warning
645+// because it constant-propagated the radix and concluded that the first
646+// condition was always false. By moving it into a separate function the
647+// compiler wouldn't warn anymore.
648+static bool IsCharacterDigitForRadix(int c, int radix, char a_character) {
649+ return radix > 10 && c >= a_character && c < a_character + radix - 10;
650+}
651+
652+
653 // Parsing integers with radix 2, 4, 8, 16, 32. Assumes current != end.
654-template <int radix_log_2>
655-static double RadixStringToIeee(const char* current,
656- const char* end,
657+template <int radix_log_2, class Iterator>
658+static double RadixStringToIeee(Iterator* current,
659+ Iterator end,
660 bool sign,
661 bool allow_trailing_junk,
662 double junk_string_value,
663 bool read_as_double,
664- const char** trailing_pointer) {
665- ASSERT(current != end);
666+ bool* result_is_junk) {
667+ ASSERT(*current != end);
668
669 const int kDoubleSize = Double::kSignificandSize;
670 const int kSingleSize = Single::kSignificandSize;
671 const int kSignificandSize = read_as_double? kDoubleSize: kSingleSize;
672
673+ *result_is_junk = true;
674+
675 // Skip leading 0s.
676- while (*current == '0') {
677- ++current;
678- if (current == end) {
679- *trailing_pointer = end;
680+ while (**current == '0') {
681+ ++(*current);
682+ if (*current == end) {
683+ *result_is_junk = false;
684 return SignedZero(sign);
685 }
686 }
687@@ -492,14 +584,14 @@ static double RadixStringToIeee(const char* current,
688
689 do {
690 int digit;
691- if (*current >= '0' && *current <= '9' && *current < '0' + radix) {
692- digit = static_cast<char>(*current) - '0';
693- } else if (radix > 10 && *current >= 'a' && *current < 'a' + radix - 10) {
694- digit = static_cast<char>(*current) - 'a' + 10;
695- } else if (radix > 10 && *current >= 'A' && *current < 'A' + radix - 10) {
696- digit = static_cast<char>(*current) - 'A' + 10;
697+ if (IsDecimalDigitForRadix(**current, radix)) {
698+ digit = static_cast<char>(**current) - '0';
699+ } else if (IsCharacterDigitForRadix(**current, radix, 'a')) {
700+ digit = static_cast<char>(**current) - 'a' + 10;
701+ } else if (IsCharacterDigitForRadix(**current, radix, 'A')) {
702+ digit = static_cast<char>(**current) - 'A' + 10;
703 } else {
704- if (allow_trailing_junk || !AdvanceToNonspace(&current, end)) {
705+ if (allow_trailing_junk || !AdvanceToNonspace(current, end)) {
706 break;
707 } else {
708 return junk_string_value;
709@@ -523,14 +615,14 @@ static double RadixStringToIeee(const char* current,
710 exponent = overflow_bits_count;
711
712 bool zero_tail = true;
713- while (true) {
714- ++current;
715- if (current == end || !isDigit(*current, radix)) break;
716- zero_tail = zero_tail && *current == '0';
717+ for (;;) {
718+ ++(*current);
719+ if (*current == end || !isDigit(**current, radix)) break;
720+ zero_tail = zero_tail && **current == '0';
721 exponent += radix_log_2;
722 }
723
724- if (!allow_trailing_junk && AdvanceToNonspace(&current, end)) {
725+ if (!allow_trailing_junk && AdvanceToNonspace(current, end)) {
726 return junk_string_value;
727 }
728
729@@ -552,13 +644,13 @@ static double RadixStringToIeee(const char* current,
730 }
731 break;
732 }
733- ++current;
734- } while (current != end);
735+ ++(*current);
736+ } while (*current != end);
737
738 ASSERT(number < ((int64_t)1 << kSignificandSize));
739 ASSERT(static_cast<int64_t>(static_cast<double>(number)) == number);
740
741- *trailing_pointer = current;
742+ *result_is_junk = false;
743
744 if (exponent == 0) {
745 if (sign) {
746@@ -572,14 +664,14 @@ static double RadixStringToIeee(const char* current,
747 return Double(DiyFp(number, exponent)).value();
748 }
749
750-
751+template <class Iterator>
752 double StringToDoubleConverter::StringToIeee(
753- const char* input,
754+ Iterator input,
755 int length,
756- int* processed_characters_count,
757- bool read_as_double) {
758- const char* current = input;
759- const char* end = input + length;
760+ bool read_as_double,
761+ int* processed_characters_count) const {
762+ Iterator current = input;
763+ Iterator end = input + length;
764
765 *processed_characters_count = 0;
766
767@@ -587,6 +679,8 @@ double StringToDoubleConverter::StringToIeee(
768 const bool allow_leading_spaces = (flags_ & ALLOW_LEADING_SPACES) != 0;
769 const bool allow_trailing_spaces = (flags_ & ALLOW_TRAILING_SPACES) != 0;
770 const bool allow_spaces_after_sign = (flags_ & ALLOW_SPACES_AFTER_SIGN) != 0;
771+ const bool allow_case_insensibility = (flags_ & ALLOW_CASE_INSENSIBILITY) != 0;
772+
773
774 // To make sure that iterator dereferencing is valid the following
775 // convention is used:
776@@ -600,7 +694,7 @@ double StringToDoubleConverter::StringToIeee(
777
778 if (allow_leading_spaces || allow_trailing_spaces) {
779 if (!AdvanceToNonspace(&current, end)) {
780- *processed_characters_count = current - input;
781+ *processed_characters_count = static_cast<int>(current - input);
782 return empty_string_value_;
783 }
784 if (!allow_leading_spaces && (input != current)) {
785@@ -626,7 +720,7 @@ double StringToDoubleConverter::StringToIeee(
786 if (*current == '+' || *current == '-') {
787 sign = (*current == '-');
788 ++current;
789- const char* next_non_space = current;
790+ Iterator next_non_space = current;
791 // Skip following spaces (if allowed).
792 if (!AdvanceToNonspace(&next_non_space, end)) return junk_string_value_;
793 if (!allow_spaces_after_sign && (current != next_non_space)) {
794@@ -636,8 +730,8 @@ double StringToDoubleConverter::StringToIeee(
795 }
796
797 if (infinity_symbol_ != NULL) {
798- if (*current == infinity_symbol_[0]) {
799- if (!ConsumeSubString(&current, end, infinity_symbol_)) {
800+ if (ConsumeFirstCharacter(*current, infinity_symbol_, allow_case_insensibility)) {
801+ if (!ConsumeSubString(&current, end, infinity_symbol_, allow_case_insensibility)) {
802 return junk_string_value_;
803 }
804
805@@ -649,14 +743,14 @@ double StringToDoubleConverter::StringToIeee(
806 }
807
808 ASSERT(buffer_pos == 0);
809- *processed_characters_count = current - input;
810+ *processed_characters_count = static_cast<int>(current - input);
811 return sign ? -Double::Infinity() : Double::Infinity();
812 }
813 }
814
815 if (nan_symbol_ != NULL) {
816- if (*current == nan_symbol_[0]) {
817- if (!ConsumeSubString(&current, end, nan_symbol_)) {
818+ if (ConsumeFirstCharacter(*current, nan_symbol_, allow_case_insensibility)) {
819+ if (!ConsumeSubString(&current, end, nan_symbol_, allow_case_insensibility)) {
820 return junk_string_value_;
821 }
822
823@@ -668,7 +762,7 @@ double StringToDoubleConverter::StringToIeee(
824 }
825
826 ASSERT(buffer_pos == 0);
827- *processed_characters_count = current - input;
828+ *processed_characters_count = static_cast<int>(current - input);
829 return sign ? -Double::NaN() : Double::NaN();
830 }
831 }
832@@ -677,7 +771,7 @@ double StringToDoubleConverter::StringToIeee(
833 if (*current == '0') {
834 ++current;
835 if (current == end) {
836- *processed_characters_count = current - input;
837+ *processed_characters_count = static_cast<int>(current - input);
838 return SignedZero(sign);
839 }
840
841@@ -690,17 +784,17 @@ double StringToDoubleConverter::StringToIeee(
842 return junk_string_value_; // "0x".
843 }
844
845- const char* tail_pointer = NULL;
846- double result = RadixStringToIeee<4>(current,
847+ bool result_is_junk;
848+ double result = RadixStringToIeee<4>(&current,
849 end,
850 sign,
851 allow_trailing_junk,
852 junk_string_value_,
853 read_as_double,
854- &tail_pointer);
855- if (tail_pointer != NULL) {
856- if (allow_trailing_spaces) AdvanceToNonspace(&tail_pointer, end);
857- *processed_characters_count = tail_pointer - input;
858+ &result_is_junk);
859+ if (!result_is_junk) {
860+ if (allow_trailing_spaces) AdvanceToNonspace(&current, end);
861+ *processed_characters_count = static_cast<int>(current - input);
862 }
863 return result;
864 }
865@@ -709,7 +803,7 @@ double StringToDoubleConverter::StringToIeee(
866 while (*current == '0') {
867 ++current;
868 if (current == end) {
869- *processed_characters_count = current - input;
870+ *processed_characters_count = static_cast<int>(current - input);
871 return SignedZero(sign);
872 }
873 }
874@@ -757,7 +851,7 @@ double StringToDoubleConverter::StringToIeee(
875 while (*current == '0') {
876 ++current;
877 if (current == end) {
878- *processed_characters_count = current - input;
879+ *processed_characters_count = static_cast<int>(current - input);
880 return SignedZero(sign);
881 }
882 exponent--; // Move this 0 into the exponent.
883@@ -793,20 +887,23 @@ double StringToDoubleConverter::StringToIeee(
884 if (*current == 'e' || *current == 'E') {
885 if (octal && !allow_trailing_junk) return junk_string_value_;
886 if (octal) goto parsing_done;
887+ Iterator junk_begin = current;
888 ++current;
889 if (current == end) {
890 if (allow_trailing_junk) {
891+ current = junk_begin;
892 goto parsing_done;
893 } else {
894 return junk_string_value_;
895 }
896 }
897- char sign = '+';
898+ char exponen_sign = '+';
899 if (*current == '+' || *current == '-') {
900- sign = static_cast<char>(*current);
901+ exponen_sign = static_cast<char>(*current);
902 ++current;
903 if (current == end) {
904 if (allow_trailing_junk) {
905+ current = junk_begin;
906 goto parsing_done;
907 } else {
908 return junk_string_value_;
909@@ -816,6 +913,7 @@ double StringToDoubleConverter::StringToIeee(
910
911 if (current == end || *current < '0' || *current > '9') {
912 if (allow_trailing_junk) {
913+ current = junk_begin;
914 goto parsing_done;
915 } else {
916 return junk_string_value_;
917@@ -837,7 +935,7 @@ double StringToDoubleConverter::StringToIeee(
918 ++current;
919 } while (current != end && *current >= '0' && *current <= '9');
920
921- exponent += (sign == '-' ? -num : num);
922+ exponent += (exponen_sign == '-' ? -num : num);
923 }
924
925 if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
926@@ -855,16 +953,17 @@ double StringToDoubleConverter::StringToIeee(
927
928 if (octal) {
929 double result;
930- const char* tail_pointer = NULL;
931- result = RadixStringToIeee<3>(buffer,
932+ bool result_is_junk;
933+ char* start = buffer;
934+ result = RadixStringToIeee<3>(&start,
935 buffer + buffer_pos,
936 sign,
937 allow_trailing_junk,
938 junk_string_value_,
939 read_as_double,
940- &tail_pointer);
941- ASSERT(tail_pointer != NULL);
942- *processed_characters_count = current - input;
943+ &result_is_junk);
944+ ASSERT(!result_is_junk);
945+ *processed_characters_count = static_cast<int>(current - input);
946 return result;
947 }
948
949@@ -882,8 +981,42 @@ double StringToDoubleConverter::StringToIeee(
950 } else {
951 converted = Strtof(Vector<const char>(buffer, buffer_pos), exponent);
952 }
953- *processed_characters_count = current - input;
954+ *processed_characters_count = static_cast<int>(current - input);
955 return sign? -converted: converted;
956 }
957
958+
959+double StringToDoubleConverter::StringToDouble(
960+ const char* buffer,
961+ int length,
962+ int* processed_characters_count) const {
963+ return StringToIeee(buffer, length, true, processed_characters_count);
964+}
965+
966+
967+double StringToDoubleConverter::StringToDouble(
968+ const uc16* buffer,
969+ int length,
970+ int* processed_characters_count) const {
971+ return StringToIeee(buffer, length, true, processed_characters_count);
972+}
973+
974+
975+float StringToDoubleConverter::StringToFloat(
976+ const char* buffer,
977+ int length,
978+ int* processed_characters_count) const {
979+ return static_cast<float>(StringToIeee(buffer, length, false,
980+ processed_characters_count));
981+}
982+
983+
984+float StringToDoubleConverter::StringToFloat(
985+ const uc16* buffer,
986+ int length,
987+ int* processed_characters_count) const {
988+ return static_cast<float>(StringToIeee(buffer, length, false,
989+ processed_characters_count));
990+}
991+
992 } // namespace double_conversion
993diff --git a/mfbt/double-conversion/double-conversion.h b/mfbt/double-conversion/double-conversion.h
994index 0e7226d..e66a566 100644
995--- a/mfbt/double-conversion/double-conversion.h
996+++ b/mfbt/double-conversion/double-conversion.h
997@@ -28,8 +28,7 @@
998 #ifndef DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
999 #define DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
1000
1001-#include "mozilla/Types.h"
1002-#include "utils.h"
1003+#include <utils.h>
1004
1005 namespace double_conversion {
1006
1007@@ -130,7 +129,7 @@ class DoubleToStringConverter {
1008 }
1009
1010 // Returns a converter following the EcmaScript specification.
1011- static MFBT_API(const DoubleToStringConverter&) EcmaScriptConverter();
1012+ static const DoubleToStringConverter& EcmaScriptConverter();
1013
1014 // Computes the shortest string of digits that correctly represent the input
1015 // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high
1016@@ -198,7 +197,7 @@ class DoubleToStringConverter {
1017 // The last two conditions imply that the result will never contain more than
1018 // 1 + kMaxFixedDigitsBeforePoint + 1 + kMaxFixedDigitsAfterPoint characters
1019 // (one additional character for the sign, and one for the decimal point).
1020- MFBT_API(bool) ToFixed(double value,
1021+ bool ToFixed(double value,
1022 int requested_digits,
1023 StringBuilder* result_builder) const;
1024
1025@@ -230,7 +229,7 @@ class DoubleToStringConverter {
1026 // kMaxExponentialDigits + 8 characters (the sign, the digit before the
1027 // decimal point, the decimal point, the exponent character, the
1028 // exponent's sign, and at most 3 exponent digits).
1029- MFBT_API(bool) ToExponential(double value,
1030+ bool ToExponential(double value,
1031 int requested_digits,
1032 StringBuilder* result_builder) const;
1033
1034@@ -268,7 +267,7 @@ class DoubleToStringConverter {
1035 // The last condition implies that the result will never contain more than
1036 // kMaxPrecisionDigits + 7 characters (the sign, the decimal point, the
1037 // exponent character, the exponent's sign, and at most 3 exponent digits).
1038- MFBT_API(bool) ToPrecision(double value,
1039+ bool ToPrecision(double value,
1040 int precision,
1041 StringBuilder* result_builder) const;
1042
1043@@ -293,15 +292,20 @@ class DoubleToStringConverter {
1044 // kBase10MaximalLength.
1045 // Note that DoubleToAscii null-terminates its input. So the given buffer
1046 // should be at least kBase10MaximalLength + 1 characters long.
1047- static const MFBT_DATA(int) kBase10MaximalLength = 17;
1048+ static const int kBase10MaximalLength = 17;
1049
1050- // Converts the given double 'v' to ascii. 'v' must not be NaN, +Infinity, or
1051- // -Infinity. In SHORTEST_SINGLE-mode this restriction also applies to 'v'
1052- // after it has been casted to a single-precision float. That is, in this
1053- // mode static_cast<float>(v) must not be NaN, +Infinity or -Infinity.
1054+ // Converts the given double 'v' to digit characters. 'v' must not be NaN,
1055+ // +Infinity, or -Infinity. In SHORTEST_SINGLE-mode this restriction also
1056+ // applies to 'v' after it has been casted to a single-precision float. That
1057+ // is, in this mode static_cast<float>(v) must not be NaN, +Infinity or
1058+ // -Infinity.
1059 //
1060 // The result should be interpreted as buffer * 10^(point-length).
1061 //
1062+ // The digits are written to the buffer in the platform's charset, which is
1063+ // often UTF-8 (with ASCII-range digits) but may be another charset, such
1064+ // as EBCDIC.
1065+ //
1066 // The output depends on the given mode:
1067 // - SHORTEST: produce the least amount of digits for which the internal
1068 // identity requirement is still satisfied. If the digits are printed
1069@@ -333,7 +337,7 @@ class DoubleToStringConverter {
1070 // terminating null-character when computing the maximal output size.
1071 // The given length is only used in debug mode to ensure the buffer is big
1072 // enough.
1073- static MFBT_API(void) DoubleToAscii(double v,
1074+ static void DoubleToAscii(double v,
1075 DtoaMode mode,
1076 int requested_digits,
1077 char* buffer,
1078@@ -344,7 +348,7 @@ class DoubleToStringConverter {
1079
1080 private:
1081 // Implementation for ToShortest and ToShortestSingle.
1082- MFBT_API(bool) ToShortestIeeeNumber(double value,
1083+ bool ToShortestIeeeNumber(double value,
1084 StringBuilder* result_builder,
1085 DtoaMode mode) const;
1086
1087@@ -352,15 +356,15 @@ class DoubleToStringConverter {
1088 // corresponding string using the configured infinity/nan-symbol.
1089 // If either of them is NULL or the value is not special then the
1090 // function returns false.
1091- MFBT_API(bool) HandleSpecialValues(double value, StringBuilder* result_builder) const;
1092+ bool HandleSpecialValues(double value, StringBuilder* result_builder) const;
1093 // Constructs an exponential representation (i.e. 1.234e56).
1094 // The given exponent assumes a decimal point after the first decimal digit.
1095- MFBT_API(void) CreateExponentialRepresentation(const char* decimal_digits,
1096+ void CreateExponentialRepresentation(const char* decimal_digits,
1097 int length,
1098 int exponent,
1099 StringBuilder* result_builder) const;
1100 // Creates a decimal representation (i.e 1234.5678).
1101- MFBT_API(void) CreateDecimalRepresentation(const char* decimal_digits,
1102+ void CreateDecimalRepresentation(const char* decimal_digits,
1103 int length,
1104 int decimal_point,
1105 int digits_after_point,
1106@@ -375,7 +379,7 @@ class DoubleToStringConverter {
1107 const int max_leading_padding_zeroes_in_precision_mode_;
1108 const int max_trailing_padding_zeroes_in_precision_mode_;
1109
1110- DISALLOW_IMPLICIT_CONSTRUCTORS(DoubleToStringConverter);
1111+ DC_DISALLOW_IMPLICIT_CONSTRUCTORS(DoubleToStringConverter);
1112 };
1113
1114
1115@@ -390,7 +394,8 @@ class StringToDoubleConverter {
1116 ALLOW_TRAILING_JUNK = 4,
1117 ALLOW_LEADING_SPACES = 8,
1118 ALLOW_TRAILING_SPACES = 16,
1119- ALLOW_SPACES_AFTER_SIGN = 32
1120+ ALLOW_SPACES_AFTER_SIGN = 32,
1121+ ALLOW_CASE_INSENSIBILITY = 64,
1122 };
1123
1124 // Flags should be a bit-or combination of the possible Flags-enum.
1125@@ -416,11 +421,14 @@ class StringToDoubleConverter {
1126 // junk, too.
1127 // - ALLOW_TRAILING_JUNK: ignore trailing characters that are not part of
1128 // a double literal.
1129- // - ALLOW_LEADING_SPACES: skip over leading spaces.
1130- // - ALLOW_TRAILING_SPACES: ignore trailing spaces.
1131- // - ALLOW_SPACES_AFTER_SIGN: ignore spaces after the sign.
1132+ // - ALLOW_LEADING_SPACES: skip over leading whitespace, including spaces,
1133+ // new-lines, and tabs.
1134+ // - ALLOW_TRAILING_SPACES: ignore trailing whitespace.
1135+ // - ALLOW_SPACES_AFTER_SIGN: ignore whitespace after the sign.
1136 // Ex: StringToDouble("- 123.2") -> -123.2.
1137 // StringToDouble("+ 123.2") -> 123.2
1138+ // - ALLOW_CASE_INSENSIBILITY: ignore case of characters for special values:
1139+ // infinity and nan.
1140 //
1141 // empty_string_value is returned when an empty string is given as input.
1142 // If ALLOW_LEADING_SPACES or ALLOW_TRAILING_SPACES are set, then a string
1143@@ -503,19 +511,24 @@ class StringToDoubleConverter {
1144 // in the 'processed_characters_count'. Trailing junk is never included.
1145 double StringToDouble(const char* buffer,
1146 int length,
1147- int* processed_characters_count) {
1148- return StringToIeee(buffer, length, processed_characters_count, true);
1149- }
1150+ int* processed_characters_count) const;
1151+
1152+ // Same as StringToDouble above but for 16 bit characters.
1153+ double StringToDouble(const uc16* buffer,
1154+ int length,
1155+ int* processed_characters_count) const;
1156
1157 // Same as StringToDouble but reads a float.
1158 // Note that this is not equivalent to static_cast<float>(StringToDouble(...))
1159 // due to potential double-rounding.
1160 float StringToFloat(const char* buffer,
1161 int length,
1162- int* processed_characters_count) {
1163- return static_cast<float>(StringToIeee(buffer, length,
1164- processed_characters_count, false));
1165- }
1166+ int* processed_characters_count) const;
1167+
1168+ // Same as StringToFloat above but for 16 bit characters.
1169+ float StringToFloat(const uc16* buffer,
1170+ int length,
1171+ int* processed_characters_count) const;
1172
1173 private:
1174 const int flags_;
1175@@ -524,12 +537,13 @@ class StringToDoubleConverter {
1176 const char* const infinity_symbol_;
1177 const char* const nan_symbol_;
1178
1179- double StringToIeee(const char* buffer,
1180+ template <class Iterator>
1181+ double StringToIeee(Iterator start_pointer,
1182 int length,
1183- int* processed_characters_count,
1184- bool read_as_double);
1185+ bool read_as_double,
1186+ int* processed_characters_count) const;
1187
1188- DISALLOW_IMPLICIT_CONSTRUCTORS(StringToDoubleConverter);
1189+ DC_DISALLOW_IMPLICIT_CONSTRUCTORS(StringToDoubleConverter);
1190 };
1191
1192 } // namespace double_conversion
1193diff --git a/mfbt/double-conversion/fast-dtoa.cc b/mfbt/double-conversion/fast-dtoa.cc
1194index 0609422..d338216 100644
1195--- a/mfbt/double-conversion/fast-dtoa.cc
1196+++ b/mfbt/double-conversion/fast-dtoa.cc
1197@@ -25,11 +25,11 @@
1198 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1199 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1200
1201-#include "fast-dtoa.h"
1202+#include <fast-dtoa.h>
1203
1204-#include "cached-powers.h"
1205-#include "diy-fp.h"
1206-#include "ieee.h"
1207+#include <cached-powers.h>
1208+#include <diy-fp.h>
1209+#include <ieee.h>
1210
1211 namespace double_conversion {
1212
1213@@ -248,10 +248,7 @@ static void BiggestPowerTen(uint32_t number,
1214 // Note: kPowersOf10[i] == 10^(i-1).
1215 exponent_plus_one_guess++;
1216 // We don't have any guarantees that 2^number_bits <= number.
1217- // TODO(floitsch): can we change the 'while' into an 'if'? We definitely see
1218- // number < (2^number_bits - 1), but I haven't encountered
1219- // number < (2^number_bits - 2) yet.
1220- while (number < kSmallPowersOfTen[exponent_plus_one_guess]) {
1221+ if (number < kSmallPowersOfTen[exponent_plus_one_guess]) {
1222 exponent_plus_one_guess--;
1223 }
1224 *power = kSmallPowersOfTen[exponent_plus_one_guess];
1225@@ -350,7 +347,8 @@ static bool DigitGen(DiyFp low,
1226 // that is smaller than integrals.
1227 while (*kappa > 0) {
1228 int digit = integrals / divisor;
1229- buffer[*length] = '0' + digit;
1230+ ASSERT(digit <= 9);
1231+ buffer[*length] = static_cast<char>('0' + digit);
1232 (*length)++;
1233 integrals %= divisor;
1234 (*kappa)--;
1235@@ -379,13 +377,14 @@ static bool DigitGen(DiyFp low,
1236 ASSERT(one.e() >= -60);
1237 ASSERT(fractionals < one.f());
1238 ASSERT(UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f());
1239- while (true) {
1240+ for (;;) {
1241 fractionals *= 10;
1242 unit *= 10;
1243 unsafe_interval.set_f(unsafe_interval.f() * 10);
1244 // Integer division by one.
1245 int digit = static_cast<int>(fractionals >> -one.e());
1246- buffer[*length] = '0' + digit;
1247+ ASSERT(digit <= 9);
1248+ buffer[*length] = static_cast<char>('0' + digit);
1249 (*length)++;
1250 fractionals &= one.f() - 1; // Modulo by one.
1251 (*kappa)--;
1252@@ -459,7 +458,8 @@ static bool DigitGenCounted(DiyFp w,
1253 // that is smaller than 'integrals'.
1254 while (*kappa > 0) {
1255 int digit = integrals / divisor;
1256- buffer[*length] = '0' + digit;
1257+ ASSERT(digit <= 9);
1258+ buffer[*length] = static_cast<char>('0' + digit);
1259 (*length)++;
1260 requested_digits--;
1261 integrals %= divisor;
1262@@ -492,7 +492,8 @@ static bool DigitGenCounted(DiyFp w,
1263 w_error *= 10;
1264 // Integer division by one.
1265 int digit = static_cast<int>(fractionals >> -one.e());
1266- buffer[*length] = '0' + digit;
1267+ ASSERT(digit <= 9);
1268+ buffer[*length] = static_cast<char>('0' + digit);
1269 (*length)++;
1270 requested_digits--;
1271 fractionals &= one.f() - 1; // Modulo by one.
1272@@ -529,7 +530,7 @@ static bool Grisu3(double v,
1273 if (mode == FAST_DTOA_SHORTEST) {
1274 Double(v).NormalizedBoundaries(&boundary_minus, &boundary_plus);
1275 } else {
1276- assert(mode == FAST_DTOA_SHORTEST_SINGLE);
1277+ ASSERT(mode == FAST_DTOA_SHORTEST_SINGLE);
1278 float single_v = static_cast<float>(v);
1279 Single(single_v).NormalizedBoundaries(&boundary_minus, &boundary_plus);
1280 }
1281diff --git a/mfbt/double-conversion/fast-dtoa.h b/mfbt/double-conversion/fast-dtoa.h
1282index 5f1e8ee..9c4da92 100644
1283--- a/mfbt/double-conversion/fast-dtoa.h
1284+++ b/mfbt/double-conversion/fast-dtoa.h
1285@@ -28,7 +28,7 @@
1286 #ifndef DOUBLE_CONVERSION_FAST_DTOA_H_
1287 #define DOUBLE_CONVERSION_FAST_DTOA_H_
1288
1289-#include "utils.h"
1290+#include <utils.h>
1291
1292 namespace double_conversion {
1293
1294diff --git a/mfbt/double-conversion/fixed-dtoa.cc b/mfbt/double-conversion/fixed-dtoa.cc
1295index d56b144..fa23529 100644
1296--- a/mfbt/double-conversion/fixed-dtoa.cc
1297+++ b/mfbt/double-conversion/fixed-dtoa.cc
1298@@ -25,10 +25,10 @@
1299 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1300 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1301
1302-#include <math.h>
1303+#include <cmath>
1304
1305-#include "fixed-dtoa.h"
1306-#include "ieee.h"
1307+#include <fixed-dtoa.h>
1308+#include <ieee.h>
1309
1310 namespace double_conversion {
1311
1312@@ -98,7 +98,7 @@ class UInt128 {
1313 return high_bits_ == 0 && low_bits_ == 0;
1314 }
1315
1316- int BitAt(int position) {
1317+ int BitAt(int position) const {
1318 if (position >= 64) {
1319 return static_cast<int>(high_bits_ >> (position - 64)) & 1;
1320 } else {
1321@@ -133,7 +133,7 @@ static void FillDigits32(uint32_t number, Vector<char> buffer, int* length) {
1322 while (number != 0) {
1323 int digit = number % 10;
1324 number /= 10;
1325- buffer[(*length) + number_length] = '0' + digit;
1326+ buffer[(*length) + number_length] = static_cast<char>('0' + digit);
1327 number_length++;
1328 }
1329 // Exchange the digits.
1330@@ -150,7 +150,7 @@ static void FillDigits32(uint32_t number, Vector<char> buffer, int* length) {
1331 }
1332
1333
1334-static void FillDigits64FixedLength(uint64_t number, int requested_length,
1335+static void FillDigits64FixedLength(uint64_t number,
1336 Vector<char> buffer, int* length) {
1337 const uint32_t kTen7 = 10000000;
1338 // For efficiency cut the number into 3 uint32_t parts, and print those.
1339@@ -253,12 +253,14 @@ static void FillFractionals(uint64_t fractionals, int exponent,
1340 fractionals *= 5;
1341 point--;
1342 int digit = static_cast<int>(fractionals >> point);
1343- buffer[*length] = '0' + digit;
1344+ ASSERT(digit <= 9);
1345+ buffer[*length] = static_cast<char>('0' + digit);
1346 (*length)++;
1347 fractionals -= static_cast<uint64_t>(digit) << point;
1348 }
1349 // If the first bit after the point is set we have to round up.
1350- if (((fractionals >> (point - 1)) & 1) == 1) {
1351+ ASSERT(fractionals == 0 || point - 1 >= 0);
1352+ if ((fractionals != 0) && ((fractionals >> (point - 1)) & 1) == 1) {
1353 RoundUp(buffer, length, decimal_point);
1354 }
1355 } else { // We need 128 bits.
1356@@ -274,7 +276,8 @@ static void FillFractionals(uint64_t fractionals, int exponent,
1357 fractionals128.Multiply(5);
1358 point--;
1359 int digit = fractionals128.DivModPowerOf2(point);
1360- buffer[*length] = '0' + digit;
1361+ ASSERT(digit <= 9);
1362+ buffer[*length] = static_cast<char>('0' + digit);
1363 (*length)++;
1364 }
1365 if (fractionals128.BitAt(point - 1) == 1) {
1366@@ -358,7 +361,7 @@ bool FastFixedDtoa(double v,
1367 remainder = (dividend % divisor) << exponent;
1368 }
1369 FillDigits32(quotient, buffer, length);
1370- FillDigits64FixedLength(remainder, divisor_power, buffer, length);
1371+ FillDigits64FixedLength(remainder, buffer, length);
1372 *decimal_point = *length;
1373 } else if (exponent >= 0) {
1374 // 0 <= exponent <= 11
1375diff --git a/mfbt/double-conversion/fixed-dtoa.h b/mfbt/double-conversion/fixed-dtoa.h
1376index 3bdd08e..19fd2e7 100644
1377--- a/mfbt/double-conversion/fixed-dtoa.h
1378+++ b/mfbt/double-conversion/fixed-dtoa.h
1379@@ -28,7 +28,7 @@
1380 #ifndef DOUBLE_CONVERSION_FIXED_DTOA_H_
1381 #define DOUBLE_CONVERSION_FIXED_DTOA_H_
1382
1383-#include "utils.h"
1384+#include <utils.h>
1385
1386 namespace double_conversion {
1387
1388diff --git a/mfbt/double-conversion/ieee.h b/mfbt/double-conversion/ieee.h
1389index 839dc47..8949b02 100644
1390--- a/mfbt/double-conversion/ieee.h
1391+++ b/mfbt/double-conversion/ieee.h
1392@@ -28,7 +28,7 @@
1393 #ifndef DOUBLE_CONVERSION_DOUBLE_H_
1394 #define DOUBLE_CONVERSION_DOUBLE_H_
1395
1396-#include "diy-fp.h"
1397+#include <diy-fp.h>
1398
1399 namespace double_conversion {
1400
1401@@ -99,7 +99,7 @@ class Double {
1402 }
1403
1404 double PreviousDouble() const {
1405- if (d64_ == (kInfinity | kSignMask)) return -Double::Infinity();
1406+ if (d64_ == (kInfinity | kSignMask)) return -Infinity();
1407 if (Sign() < 0) {
1408 return Double(d64_ + 1).value();
1409 } else {
1410@@ -256,6 +256,8 @@ class Double {
1411 return (significand & kSignificandMask) |
1412 (biased_exponent << kPhysicalSignificandSize);
1413 }
1414+
1415+ DC_DISALLOW_COPY_AND_ASSIGN(Double);
1416 };
1417
1418 class Single {
1419@@ -391,6 +393,8 @@ class Single {
1420 static const uint32_t kNaN = 0x7FC00000;
1421
1422 const uint32_t d32_;
1423+
1424+ DC_DISALLOW_COPY_AND_ASSIGN(Single);
1425 };
1426
1427 } // namespace double_conversion
1428diff --git a/mfbt/double-conversion/strtod.cc b/mfbt/double-conversion/strtod.cc
1429index d773f44..a9e85c1 100644
1430--- a/mfbt/double-conversion/strtod.cc
1431+++ b/mfbt/double-conversion/strtod.cc
1432@@ -25,13 +25,13 @@
1433 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1434 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1435
1436-#include <stdarg.h>
1437-#include <limits.h>
1438+#include <climits>
1439+#include <cstdarg>
1440
1441-#include "strtod.h"
1442-#include "bignum.h"
1443-#include "cached-powers.h"
1444-#include "ieee.h"
1445+#include <bignum.h>
1446+#include <cached-powers.h>
1447+#include <ieee.h>
1448+#include <strtod.h>
1449
1450 namespace double_conversion {
1451
1452@@ -137,6 +137,7 @@ static void TrimAndCut(Vector<const char> buffer, int exponent,
1453 Vector<const char> right_trimmed = TrimTrailingZeros(left_trimmed);
1454 exponent += left_trimmed.length() - right_trimmed.length();
1455 if (right_trimmed.length() > kMaxSignificantDecimalDigits) {
1456+ (void) space_size; // Mark variable as used.
1457 ASSERT(space_size >= kMaxSignificantDecimalDigits);
1458 CutToMaxSignificantDigits(right_trimmed, exponent,
1459 buffer_copy_space, updated_exponent);
1460@@ -204,7 +205,7 @@ static bool DoubleStrtod(Vector<const char> trimmed,
1461 // Note that the ARM simulator is compiled for 32bits. It therefore exhibits
1462 // the same problem.
1463 return false;
1464-#endif
1465+#else
1466 if (trimmed.length() <= kMaxExactDoubleIntegerDecimalDigits) {
1467 int read_digits;
1468 // The trimmed input fits into a double.
1469@@ -242,6 +243,7 @@ static bool DoubleStrtod(Vector<const char> trimmed,
1470 }
1471 }
1472 return false;
1473+#endif
1474 }
1475
1476
1477@@ -263,7 +265,6 @@ static DiyFp AdjustmentPowerOfTen(int exponent) {
1478 case 7: return DiyFp(UINT64_2PART_C(0x98968000, 00000000), -40);
1479 default:
1480 UNREACHABLE();
1481- return DiyFp(0, 0);
1482 }
1483 }
1484
1485@@ -286,7 +287,7 @@ static bool DiyFpStrtod(Vector<const char> buffer,
1486 const int kDenominator = 1 << kDenominatorLog;
1487 // Move the remaining decimals into the exponent.
1488 exponent += remaining_decimals;
1489- int error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
1490+ uint64_t error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
1491
1492 int old_e = input.e();
1493 input.Normalize();
1494@@ -471,6 +472,30 @@ double Strtod(Vector<const char> buffer, int exponent) {
1495 }
1496 }
1497
1498+static float SanitizedDoubletof(double d) {
1499+ ASSERT(d >= 0.0);
1500+ // ASAN has a sanitize check that disallows casting doubles to floats if
1501+ // they are too big.
1502+ // https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#available-checks
1503+ // The behavior should be covered by IEEE 754, but some projects use this
1504+ // flag, so work around it.
1505+ float max_finite = 3.4028234663852885981170418348451692544e+38;
1506+ // The half-way point between the max-finite and infinity value.
1507+ // Since infinity has an even significand everything equal or greater than
1508+ // this value should become infinity.
1509+ double half_max_finite_infinity =
1510+ 3.40282356779733661637539395458142568448e+38;
1511+ if (d >= max_finite) {
1512+ if (d >= half_max_finite_infinity) {
1513+ return Single::Infinity();
1514+ } else {
1515+ return max_finite;
1516+ }
1517+ } else {
1518+ return static_cast<float>(d);
1519+ }
1520+}
1521+
1522 float Strtof(Vector<const char> buffer, int exponent) {
1523 char copy_buffer[kMaxSignificantDecimalDigits];
1524 Vector<const char> trimmed;
1525@@ -482,7 +507,7 @@ float Strtof(Vector<const char> buffer, int exponent) {
1526 double double_guess;
1527 bool is_correct = ComputeGuess(trimmed, exponent, &double_guess);
1528
1529- float float_guess = static_cast<float>(double_guess);
1530+ float float_guess = SanitizedDoubletof(double_guess);
1531 if (float_guess == double_guess) {
1532 // This shortcut triggers for integer values.
1533 return float_guess;
1534@@ -505,18 +530,18 @@ float Strtof(Vector<const char> buffer, int exponent) {
1535 double double_next = Double(double_guess).NextDouble();
1536 double double_previous = Double(double_guess).PreviousDouble();
1537
1538- float f1 = static_cast<float>(double_previous);
1539+ float f1 = SanitizedDoubletof(double_previous);
1540 float f2 = float_guess;
1541- float f3 = static_cast<float>(double_next);
1542+ float f3 = SanitizedDoubletof(double_next);
1543 float f4;
1544 if (is_correct) {
1545 f4 = f3;
1546 } else {
1547 double double_next2 = Double(double_next).NextDouble();
1548- f4 = static_cast<float>(double_next2);
1549+ f4 = SanitizedDoubletof(double_next2);
1550 }
1551- (void)f2;
1552- assert(f1 <= f2 && f2 <= f3 && f3 <= f4);
1553+ (void) f2; // Mark variable as used.
1554+ ASSERT(f1 <= f2 && f2 <= f3 && f3 <= f4);
1555
1556 // If the guess doesn't lie near a single-precision boundary we can simply
1557 // return its float-value.
1558@@ -524,11 +549,11 @@ float Strtof(Vector<const char> buffer, int exponent) {
1559 return float_guess;
1560 }
1561
1562- assert((f1 != f2 && f2 == f3 && f3 == f4) ||
1563+ ASSERT((f1 != f2 && f2 == f3 && f3 == f4) ||
1564 (f1 == f2 && f2 != f3 && f3 == f4) ||
1565 (f1 == f2 && f2 == f3 && f3 != f4));
1566
1567- // guess and next are the two possible canditates (in the same way that
1568+ // guess and next are the two possible candidates (in the same way that
1569 // double_guess was the lower candidate for a double-precision guess).
1570 float guess = f1;
1571 float next = f4;
1572diff --git a/mfbt/double-conversion/strtod.h b/mfbt/double-conversion/strtod.h
1573index ed0293b..58c4926 100644
1574--- a/mfbt/double-conversion/strtod.h
1575+++ b/mfbt/double-conversion/strtod.h
1576@@ -28,7 +28,7 @@
1577 #ifndef DOUBLE_CONVERSION_STRTOD_H_
1578 #define DOUBLE_CONVERSION_STRTOD_H_
1579
1580-#include "utils.h"
1581+#include <utils.h>
1582
1583 namespace double_conversion {
1584
1585diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
1586index 0eec2d9..a748654 100644
1587--- a/mfbt/double-conversion/utils.h
1588+++ b/mfbt/double-conversion/utils.h
1589@@ -28,19 +28,34 @@
1590 #ifndef DOUBLE_CONVERSION_UTILS_H_
1591 #define DOUBLE_CONVERSION_UTILS_H_
1592
1593-#include <stdlib.h>
1594-#include <string.h>
1595+#include <cstdlib>
1596+#include <cstring>
1597
1598-#include <assert.h>
1599+#include <cassert>
1600 #ifndef ASSERT
1601-#define ASSERT(condition) (assert(condition))
1602+#define ASSERT(condition) \
1603+ assert(condition);
1604 #endif
1605 #ifndef UNIMPLEMENTED
1606 #define UNIMPLEMENTED() (abort())
1607 #endif
1608+#ifndef DOUBLE_CONVERSION_NO_RETURN
1609+#ifdef _MSC_VER
1610+#define DOUBLE_CONVERSION_NO_RETURN __declspec(noreturn)
1611+#else
1612+#define DOUBLE_CONVERSION_NO_RETURN __attribute__((noreturn))
1613+#endif
1614+#endif
1615 #ifndef UNREACHABLE
1616+#ifdef _MSC_VER
1617+void DOUBLE_CONVERSION_NO_RETURN abort_noreturn();
1618+inline void abort_noreturn() { abort(); }
1619+#define UNREACHABLE() (abort_noreturn())
1620+#else
1621 #define UNREACHABLE() (abort())
1622 #endif
1623+#endif
1624+
1625
1626 // Double operations detection based on target architecture.
1627 // Linux uses a 80bit wide floating point stack on x86. This induces double
1628@@ -55,11 +70,18 @@
1629 #if defined(_M_X64) || defined(__x86_64__) || \
1630 defined(__ARMEL__) || defined(__avr32__) || \
1631 defined(__hppa__) || defined(__ia64__) || \
1632- defined(__mips__) || defined(__powerpc__) || \
1633+ defined(__mips__) || \
1634+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
1635+ defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
1636 defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
1637 defined(__SH4__) || defined(__alpha__) || \
1638- defined(_MIPS_ARCH_MIPS32R2)
1639+ defined(_MIPS_ARCH_MIPS32R2) || \
1640+ defined(__AARCH64EL__) || defined(__aarch64__) || \
1641+ defined(__riscv)
1642 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
1643+#elif defined(__mc68000__) || \
1644+ defined(__pnacl__) || defined(__native_client__)
1645+#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
1646 #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
1647 #if defined(_WIN32)
1648 // Windows uses a 64bit wide floating point stack.
1649@@ -71,9 +93,10 @@
1650 #error Target architecture was not detected as supported by Double-Conversion.
1651 #endif
1652
1653-
1654 #include "mozilla/StandardInteger.h"
1655
1656+typedef uint16_t uc16;
1657+
1658 // The following macro works on both 32 and 64-bit platforms.
1659 // Usage: instead of writing 0x1234567890123456
1660 // write UINT64_2PART_C(0x12345678,90123456);
1661@@ -92,8 +115,8 @@
1662
1663 // A macro to disallow the evil copy constructor and operator= functions
1664 // This should be used in the private: declarations for a class
1665-#ifndef DISALLOW_COPY_AND_ASSIGN
1666-#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
1667+#ifndef DC_DISALLOW_COPY_AND_ASSIGN
1668+#define DC_DISALLOW_COPY_AND_ASSIGN(TypeName) \
1669 TypeName(const TypeName&); \
1670 void operator=(const TypeName&)
1671 #endif
1672@@ -104,10 +127,10 @@
1673 // This should be used in the private: declarations for a class
1674 // that wants to prevent anyone from instantiating it. This is
1675 // especially useful for classes containing only static methods.
1676-#ifndef DISALLOW_IMPLICIT_CONSTRUCTORS
1677-#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
1678+#ifndef DC_DISALLOW_IMPLICIT_CONSTRUCTORS
1679+#define DC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
1680 TypeName(); \
1681- DISALLOW_COPY_AND_ASSIGN(TypeName)
1682+ DC_DISALLOW_COPY_AND_ASSIGN(TypeName)
1683 #endif
1684
1685 namespace double_conversion {
1686@@ -139,8 +162,8 @@ template <typename T>
1687 class Vector {
1688 public:
1689 Vector() : start_(NULL), length_(0) {}
1690- Vector(T* data, int length) : start_(data), length_(length) {
1691- ASSERT(length == 0 || (length > 0 && data != NULL));
1692+ Vector(T* data, int len) : start_(data), length_(len) {
1693+ ASSERT(len == 0 || (len > 0 && data != NULL));
1694 }
1695
1696 // Returns a vector using the same backing storage as this one,
1697@@ -182,8 +205,8 @@ class Vector {
1698 // buffer bounds on all operations in debug mode.
1699 class StringBuilder {
1700 public:
1701- StringBuilder(char* buffer, int size)
1702- : buffer_(buffer, size), position_(0) { }
1703+ StringBuilder(char* buffer, int buffer_size)
1704+ : buffer_(buffer, buffer_size), position_(0) { }
1705
1706 ~StringBuilder() { if (!is_finalized()) Finalize(); }
1707
1708@@ -249,7 +272,7 @@ class StringBuilder {
1709
1710 bool is_finalized() const { return position_ < 0; }
1711
1712- DISALLOW_IMPLICIT_CONSTRUCTORS(StringBuilder);
1713+ DC_DISALLOW_IMPLICIT_CONSTRUCTORS(StringBuilder);
1714 };
1715
1716 // The type-based aliasing rule allows the compiler to assume that pointers of
1717@@ -280,7 +303,12 @@ template <class Dest, class Source>
1718 inline Dest BitCast(const Source& source) {
1719 // Compile time assertion: sizeof(Dest) == sizeof(Source)
1720 // A compile error here means your Dest and Source have different sizes.
1721+#if __cplusplus >= 201103L
1722+ static_assert(sizeof(Dest) == sizeof(Source),
1723+ "source and destination size mismatch");
1724+#else
1725 typedef char VerifySizesAreEqual[sizeof(Dest) == sizeof(Source) ? 1 : -1];
1726+#endif
1727
1728 Dest dest;
1729 memmove(&dest, &source, sizeof(dest));
1730--
17312.17.0
1732
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 ffeac4982..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/Update-the-double-conversion-update-script.patch
+++ /dev/null
@@ -1,175 +0,0 @@
1From 1c3f6dd9bb478fea0622e8a9ba2efbf19d73e302 Mon Sep 17 00:00:00 2001
2From: Alistair Francis <alistair.francis@wdc.com>
3Date: Fri, 1 Jun 2018 14:46:47 -0700
4Subject: [PATCH] Update the double conversion update script
5
6Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
7---
8 .../add-mfbt-api-markers.patch | 94 -------------------
9 .../more-architectures.patch | 30 ------
10 mfbt/double-conversion/update.sh | 8 +-
11 3 files changed, 3 insertions(+), 129 deletions(-)
12 delete mode 100644 mfbt/double-conversion/add-mfbt-api-markers.patch
13 delete mode 100644 mfbt/double-conversion/more-architectures.patch
14
15diff --git a/mfbt/double-conversion/add-mfbt-api-markers.patch b/mfbt/double-conversion/add-mfbt-api-markers.patch
16deleted file mode 100644
17index b98ec74..0000000
18--- a/mfbt/double-conversion/add-mfbt-api-markers.patch
19+++ /dev/null
20@@ -1,94 +0,0 @@
21-diff --git a/mfbt/double-conversion/double-conversion.h b/mfbt/double-conversion/double-conversion.h
22-index f98edae..e536a01 100644
23---- a/mfbt/double-conversion/double-conversion.h
24-+++ b/mfbt/double-conversion/double-conversion.h
25-@@ -28,6 +28,7 @@
26- #ifndef DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
27- #define DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
28-
29-+#include "mozilla/Types.h"
30- #include "utils.h"
31-
32- namespace double_conversion {
33-@@ -129,7 +130,7 @@ class DoubleToStringConverter {
34- }
35-
36- // Returns a converter following the EcmaScript specification.
37-- static const DoubleToStringConverter& EcmaScriptConverter();
38-+ static MFBT_API(const DoubleToStringConverter&) EcmaScriptConverter();
39-
40- // Computes the shortest string of digits that correctly represent the input
41- // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high
42-@@ -197,7 +198,7 @@ class DoubleToStringConverter {
43- // The last two conditions imply that the result will never contain more than
44- // 1 + kMaxFixedDigitsBeforePoint + 1 + kMaxFixedDigitsAfterPoint characters
45- // (one additional character for the sign, and one for the decimal point).
46-- bool ToFixed(double value,
47-+ MFBT_API(bool) ToFixed(double value,
48- int requested_digits,
49- StringBuilder* result_builder) const;
50-
51-@@ -229,7 +230,7 @@ class DoubleToStringConverter {
52- // kMaxExponentialDigits + 8 characters (the sign, the digit before the
53- // decimal point, the decimal point, the exponent character, the
54- // exponent's sign, and at most 3 exponent digits).
55-- bool ToExponential(double value,
56-+ MFBT_API(bool) ToExponential(double value,
57- int requested_digits,
58- StringBuilder* result_builder) const;
59-
60-@@ -267,7 +268,7 @@ class DoubleToStringConverter {
61- // The last condition implies that the result will never contain more than
62- // kMaxPrecisionDigits + 7 characters (the sign, the decimal point, the
63- // exponent character, the exponent's sign, and at most 3 exponent digits).
64-- bool ToPrecision(double value,
65-+ MFBT_API(bool) ToPrecision(double value,
66- int precision,
67- StringBuilder* result_builder) const;
68-
69-@@ -292,7 +293,7 @@ class DoubleToStringConverter {
70- // kBase10MaximalLength.
71- // Note that DoubleToAscii null-terminates its input. So the given buffer
72- // should be at least kBase10MaximalLength + 1 characters long.
73-- static const int kBase10MaximalLength = 17;
74-+ static const MFBT_DATA(int) kBase10MaximalLength = 17;
75-
76- // Converts the given double 'v' to ascii. 'v' must not be NaN, +Infinity, or
77- // -Infinity. In SHORTEST_SINGLE-mode this restriction also applies to 'v'
78-@@ -332,7 +333,7 @@ class DoubleToStringConverter {
79- // terminating null-character when computing the maximal output size.
80- // The given length is only used in debug mode to ensure the buffer is big
81- // enough.
82-- static void DoubleToAscii(double v,
83-+ static MFBT_API(void) DoubleToAscii(double v,
84- DtoaMode mode,
85- int requested_digits,
86- char* buffer,
87-@@ -343,7 +344,7 @@ class DoubleToStringConverter {
88-
89- private:
90- // Implementation for ToShortest and ToShortestSingle.
91-- bool ToShortestIeeeNumber(double value,
92-+ MFBT_API(bool) ToShortestIeeeNumber(double value,
93- StringBuilder* result_builder,
94- DtoaMode mode) const;
95-
96-@@ -351,15 +352,15 @@ class DoubleToStringConverter {
97- // corresponding string using the configured infinity/nan-symbol.
98- // If either of them is NULL or the value is not special then the
99- // function returns false.
100-- bool HandleSpecialValues(double value, StringBuilder* result_builder) const;
101-+ MFBT_API(bool) HandleSpecialValues(double value, StringBuilder* result_builder) const;
102- // Constructs an exponential representation (i.e. 1.234e56).
103- // The given exponent assumes a decimal point after the first decimal digit.
104-- void CreateExponentialRepresentation(const char* decimal_digits,
105-+ MFBT_API(void) CreateExponentialRepresentation(const char* decimal_digits,
106- int length,
107- int exponent,
108- StringBuilder* result_builder) const;
109- // Creates a decimal representation (i.e 1234.5678).
110-- void CreateDecimalRepresentation(const char* decimal_digits,
111-+ MFBT_API(void) CreateDecimalRepresentation(const char* decimal_digits,
112- int length,
113- int decimal_point,
114- int digits_after_point,
115diff --git a/mfbt/double-conversion/more-architectures.patch b/mfbt/double-conversion/more-architectures.patch
116deleted file mode 100644
117index b8d3804..0000000
118--- a/mfbt/double-conversion/more-architectures.patch
119+++ /dev/null
120@@ -1,30 +0,0 @@
121-diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
122---- a/mfbt/double-conversion/utils.h
123-+++ b/mfbt/double-conversion/utils.h
124-@@ -48,20 +48,24 @@
125- // An easy way to test if the floating-point operations are correct is to
126- // evaluate: 89255.0/1e22. If the floating-point stack is 64 bits wide then
127- // the result is equal to 89255e-22.
128- // The best way to test this, is to create a division-function and to compare
129- // the output of the division with the expected result. (Inlining must be
130- // disabled.)
131- // On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
132- #if defined(_M_X64) || defined(__x86_64__) || \
133-- defined(__ARMEL__) || \
134-+ defined(__ARMEL__) || defined(__avr32__) || \
135-+ defined(__hppa__) || defined(__ia64__) || \
136-+ defined(__mips__) || defined(__powerpc__) || \
137-+ defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
138-+ defined(__SH4__) || defined(__alpha__) || \
139- defined(_MIPS_ARCH_MIPS32R2)
140- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
141--#elif defined(_M_IX86) || defined(__i386__)
142-+#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
143- #if defined(_WIN32)
144- // Windows uses a 64bit wide floating point stack.
145- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
146- #else
147- #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
148- #endif // _WIN32
149- #else
150- #error Target architecture was not detected as supported by Double-Conversion.
151diff --git a/mfbt/double-conversion/update.sh b/mfbt/double-conversion/update.sh
152index 81add8e..9ef2e91 100755
153--- a/mfbt/double-conversion/update.sh
154+++ b/mfbt/double-conversion/update.sh
155@@ -4,14 +4,12 @@
156 # double-conversion source that we need.
157
158 cp $1/LICENSE ./
159-cp $1/README ./
160+cp $1/COPYING ./
161
162 # Includes
163-cp $1/src/*.h ./
164+cp $1/double-conversion/*.h ./
165
166 # Source
167-cp $1/src/*.cc ./
168+cp $1/double-conversion/*.cc ./
169
170-patch -p3 < add-mfbt-api-markers.patch
171 patch -p3 < use-StandardInteger.patch
172-patch -p3 < more-architectures.patch
173--
1742.17.0
175
diff --git a/meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch b/meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch
deleted file mode 100644
index 43c459042..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/fix-the-compile-error-of-powerpc64.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1fix the compile error of powerpc64
2
3Upstream-status: Accepted
4
5 fix the following error
6 |error: 'jsuword' does not name a type
7
8
9--- a/js/src/jsval.hold 2015-04-24 01:15:06.692970731 -0500
10+++ b/js/src/jsval.h 2015-04-24 01:15:41.792969478 -0500
11@@ -304,7 +304,6 @@
12 int32_t i32;
13 uint32_t u32;
14 JSWhyMagic why;
15- jsuword word;
16 } payload;
17 } s;
18 double asDouble;
diff --git a/meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch b/meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch
deleted file mode 100644
index abde01bcd..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs/fix_milestone_compile_issue.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1fix the compile error do to perl update
2
3Upstream-status: Inappropriate
4
5
6Signed-of-by: Armin Kuster <akuster808@gmail.com>
7
8Index: src/config/milestone.pl
9===================================================================
10--- src.orig/config/milestone.pl
11+++ src/config/milestone.pl
12@@ -55,7 +55,7 @@ $MILESTONE_FILE = "$TOPSRCDIR/config/mi
13 #
14 my $milestone = Moz::Milestone::getOfficialMilestone($MILESTONE_FILE);
15
16-if (defined(@TEMPLATE_FILE)) {
17+if (@TEMPLATE_FILE) {
18 my $TFILE;
19
20 foreach $TFILE (@TEMPLATE_FILE) {
diff --git a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
deleted file mode 100644
index c5fbab20b..000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
+++ /dev/null
@@ -1,83 +0,0 @@
1SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
2HOMEPAGE = "http://www.mozilla.org/js/"
3LICENSE = "MPL-2.0"
4LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
5
6SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \
7 file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \
8 file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
9 file://0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch;patchdir=../../ \
10 file://0004-mozbug746112-no-decommit-on-large-pages.patch;patchdir=../../ \
11 file://0005-aarch64-64k-page.patch;patchdir=../../ \
12 file://0001-regenerate-configure.patch;patchdir=../../ \
13 file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \
14 file://fix_milestone_compile_issue.patch \
15 file://0010-fix-cross-compilation-on-i586-targets.patch;patchdir=../../ \
16 file://Manually_mmap_heap_memory_esr17.patch;patchdir=../../ \
17 file://0001-compare-the-first-character-of-string-to-be-null-or-.patch;patchdir=../../ \
18 file://Update-the-double-conversion-update-script.patch;patchdir=../../ \
19 file://Update-Double-Conversion.patch;patchdir=../../ \
20 "
21
22SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202"
23SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba"
24
25S = "${WORKDIR}/${BPN}${PV}/js/src"
26
27inherit autotools pkgconfig perlnative pythonnative
28
29DEPENDS += "nspr zlib"
30
31# Host specific flags need to be defined, otherwise target flags will be passed to the host
32export HOST_CFLAGS = "${BUILD_CFLAGS}"
33export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
34export HOST_LDFLAGS = "${BUILD_LDFLAGS}"
35
36# nspr's package-config is ignored so set libs manually
37EXTRA_OECONF = " \
38 --target=${TARGET_SYS} \
39 --host=${BUILD_SYS} \
40 --build=${BUILD_SYS} \
41 --prefix=${prefix} \
42 --libdir=${libdir} \
43 --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
44 --enable-threadsafe \
45 --disable-static \
46"
47EXTRA_OECONF_append_armv4 = " \
48 --disable-methodjit \
49"
50
51PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
52PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
53
54# mozjs requires autoreconf 2.13
55do_configure() {
56 export HOST_CFLAGS="${BUILD_CFLAGS}"
57 export HOST_CXXFLAGS="${BUILD_CPPFLAGS}"
58 export HOST_LDFLAGS="${BUILD_LDFLAGS}"
59 ( cd ${S}
60 gnu-configize --force
61 mv config.guess config.sub build/autoconf )
62 ${S}/configure ${EXTRA_OECONF}
63}
64
65# patch.bbclass will try to apply the patches already present and fail, so clean them out
66do_unpack() {
67 tar -xvf ${DL_DIR}/mozjs17.0.0.tar.gz -C ${WORKDIR}/
68 rm -rf ${WORKDIR}/${BPN}${PV}/patches
69}
70
71
72PACKAGES =+ "lib${BPN}"
73FILES_lib${BPN} += "${libdir}/lib*.so"
74FILES_${PN}-dev += "${bindir}/js17-config"
75
76# Fails to build with thumb-1 (qemuarm)
77#| {standard input}: Assembler messages:
78#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20'
79#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)'
80#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)'
81#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300'
82#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52'
83ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb b/meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb
new file mode 100644
index 000000000..790960282
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs_52.8.1.bb
@@ -0,0 +1,95 @@
1SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
2HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
3LICENSE = "MPL-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
5
6SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/m/mozjs52/mozjs52_52.8.1.orig.tar.bz2 \
7 file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
8 file://0010-fix-cross-compilation-on-i586-targets.patch \
9 file://0001-do-not-create-python-environment.patch \
10 file://0002-fix-cannot-find-link.patch \
11 file://0003-workaround-autoconf-2.13-detection-failed.patch \
12 file://0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch \
13 file://0005-fix-do_compile-failed-on-mips.patch \
14 "
15SRC_URI_append_libc-musl = " \
16 file://0006-support-musl.patch \
17 "
18
19SRC_URI[md5sum] = "3a44c2fd3d7b5a370ed9184163c74bc4"
20SRC_URI[sha256sum] = "fb5e11b7f31a33be820d5c947c5fa114751b0d5033778c1cd8e0cf2dad91e8fa"
21
22inherit autotools pkgconfig perlnative pythonnative
23
24DEPENDS += "nspr zlib"
25
26# nspr's package-config is ignored so set libs manually
27EXTRA_OECONF = " \
28 --target=${TARGET_SYS} \
29 --host=${BUILD_SYS} \
30 --prefix=${prefix} \
31 --libdir=${libdir} \
32 --disable-tests \
33 --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
34"
35
36PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
37PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},,virtual/libx11"
38
39EXTRA_OEMAKE_task-compile += "OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'"
40EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static"
41
42do_configure() {
43 export SHELL="/bin/sh"
44 ${S}/js/src/configure ${EXTRA_OECONF}
45}
46
47do_compile_prepend() {
48 export SHELL="/bin/sh"
49 export S
50 export PYTHONPATH
51 cd ${S}
52 for sub_dir in python testing/mozbase; do
53 for module_dir in `ls $sub_dir -1`;do
54 [ $module_dir = "virtualenv" ] && continue
55 if [ -d "${S}/$sub_dir/$module_dir" ];then
56 PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
57 fi
58 done
59 done
60 PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build"
61 cd -
62}
63
64do_install_prepend() {
65 export SHELL="/bin/sh"
66 export S
67 export PYTHONPATH
68 cd ${S}
69 for sub_dir in python testing/mozbase; do
70 for module_dir in `ls $sub_dir -1`;do
71 [ $module_dir = "virtualenv" ] && continue
72 if [ -d "${S}/$sub_dir/$module_dir" ];then
73 PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
74 fi
75 done
76 done
77 PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build"
78 cd -
79}
80
81PACKAGES =+ "lib${BPN}"
82FILES_lib${BPN} += "${libdir}/lib*.so"
83FILES_${PN}-dev += "${bindir}/js52-config"
84
85# Fails to build with thumb-1 (qemuarm)
86#| {standard input}: Assembler messages:
87#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20'
88#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)'
89#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)'
90#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300'
91#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52'
92ARM_INSTRUCTION_SET_armv5 = "arm"
93ARM_INSTRUCTION_SET_armv4 = "arm"
94
95DISABLE_STATIC = ""