commit 43cefe3afeb58e7416f7b1e508c8a251b12efb72
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Jun 24 19:42:50 2018 +0000
Bug 26476: Work around Windows Tor Browser bustage
---
projects/firefox/1464084.patch | 73 ++++++++++++++++++++++++++++++++++++++++++
projects/firefox/1467041.patch | 23 +++++++++++++
projects/firefox/build | 2 ++
projects/firefox/config | 4 +++
4 files changed, 102 insertions(+)
diff --git a/projects/firefox/1464084.patch b/projects/firefox/1464084.patch
new file mode 100644
index 0000000..524cb7f
--- /dev/null
+++ b/projects/firefox/1464084.patch
@@ -0,0 +1,73 @@
+From 1a1cc016c8f6ff83ea057ee6fe6838b89c382210 Mon Sep 17 00:00:00 2001
+From: Georg Koppen <gk(a)torproject.org>
+Date: Sun, 24 Jun 2018 19:36:35 +0000
+Subject: [PATCH 1/2] Revert "Bug 1464084 - Don't export
+ std::thread::_M_start_thread symbols with --enable-stdcxx-compat. r=froydnj,
+ a=RyanVM"
+
+This reverts commit 655e5f1d95e0d5ecd037f36dbe533372130e5621.
+
+diff --git a/build/unix/stdc++compat/hide_std.ld b/build/unix/stdc++compat/hide_std.ld
+deleted file mode 100644
+index 4b3400b0f327..000000000000
+--- a/build/unix/stdc++compat/hide_std.ld
++++ /dev/null
+@@ -1,5 +0,0 @@
+-hidden {
+- local:
+- # std::thread::_M_start_thread(...)
+- _ZNSt6thread15_M_start_thread*;
+-};
+diff --git a/build/unix/stdc++compat/moz.build b/build/unix/stdc++compat/moz.build
+index 4444d0c4f297..20517a1caef5 100644
+--- a/build/unix/stdc++compat/moz.build
++++ b/build/unix/stdc++compat/moz.build
+@@ -23,5 +23,3 @@ COMPILE_FLAGS['CLANG_PLUGIN'] = []
+
+ DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_TARGET_VERSION']
+ HOST_DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_HOST_VERSION']
+-
+-OS_LIBS += ['-Wl,--version-script,%s/hide_std.ld' % SRCDIR]
+diff --git a/python/mozbuild/mozbuild/action/generate_symbols_file.py b/python/mozbuild/mozbuild/action/generate_symbols_file.py
+index bf1ae917a2d0..f118060f47cf 100644
+--- a/python/mozbuild/mozbuild/action/generate_symbols_file.py
++++ b/python/mozbuild/mozbuild/action/generate_symbols_file.py
+@@ -42,8 +42,6 @@ def generate_symbols_file(output, *args):
+
+ symbols = [s.strip() for s in pp.out.getvalue().splitlines() if s.strip()]
+
+- libname, ext = os.path.splitext(os.path.basename(output.name))
+-
+ if buildconfig.substs['OS_TARGET'] == 'WINNT':
+ # A def file is generated for MSVC link.exe that looks like the
+ # following:
+@@ -68,13 +66,14 @@ def generate_symbols_file(output, *args):
+ # those platforms, and to DATA on Windows, so that the "DATA" part
+ # is, in fact, part of the symbol name as far as the symbols variable
+ # is concerned.
++ libname, ext = os.path.splitext(os.path.basename(output.name))
+ assert ext == '.def'
+ output.write('LIBRARY %s\nEXPORTS\n %s\n'
+ % (libname, '\n '.join(symbols)))
+ elif buildconfig.substs['GCC_USE_GNU_LD']:
+ # A linker version script is generated for GNU LD that looks like the
+ # following:
+- # liblibrary.so {
++ # {
+ # global:
+ # symbol1;
+ # symbol2;
+@@ -82,8 +81,8 @@ def generate_symbols_file(output, *args):
+ # local:
+ # *;
+ # };
+- output.write('%s {\nglobal:\n %s;\nlocal:\n *;\n};'
+- % (libname, ';\n '.join(symbols)))
++ output.write('{\nglobal:\n %s;\nlocal:\n *;\n};'
++ % ';\n '.join(symbols))
+ elif buildconfig.substs['OS_TARGET'] == 'Darwin':
+ # A list of symbols is generated for Apple ld that simply lists all
+ # symbols, with an underscore prefix.
+--
+2.17.1
+
diff --git a/projects/firefox/1467041.patch b/projects/firefox/1467041.patch
new file mode 100644
index 0000000..a31e2e0
--- /dev/null
+++ b/projects/firefox/1467041.patch
@@ -0,0 +1,23 @@
+From 8d940fed5975400910c29037a6c575260d3caa22 Mon Sep 17 00:00:00 2001
+From: Georg Koppen <gk(a)torproject.org>
+Date: Sun, 24 Jun 2018 19:37:55 +0000
+Subject: [PATCH 2/2] Revert "Bug 1467041 - Default to --enable-release when
+ milestone is beta/release. r=froydnj, a=RyanVM"
+
+This reverts commit b1f09cd8f4a1abf13f85a2353ac1b9711200b0e5.
+
+diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
+index 67007c8dcf7c..a1e443019748 100755
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -1387,7 +1387,6 @@ imply_option('--enable-release', mozilla_official)
+ imply_option('--enable-release', depends_if('MOZ_AUTOMATION')(lambda x: True))
+
+ js_option('--enable-release',
+- default=milestone.is_release_or_beta,
+ help='Build with more conservative, release engineering-oriented '
+ 'options. This may slow down builds.')
+
+--
+2.17.1
+
diff --git a/projects/firefox/build b/projects/firefox/build
index f023c6d..e6fa41c 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -134,6 +134,8 @@ fi
[% IF c("var/windows") %]
patch -p1 < $rootdir/nsis-uninstall.patch
+ patch -p1 < $rootdir/1464084.patch
+ patch -p1 < $rootdir/1467041.patch
[% END -%]
[% IF c("var/osx") %]
diff --git a/projects/firefox/config b/projects/firefox/config
index 51dc04a..303ca0d 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -106,6 +106,10 @@ input_files:
enable: '[% c("var/windows") %]'
- filename: nsis-uninstall.patch
enable: '[% c("var/windows") %]'
+ - filename: 1464084.patch
+ enable: '[% c("var/windows") %]'
+ - filename: 1467041.patch
+ enable: '[% c("var/windows") %]'
- project: rust
name: rust
- project: llvm