[tor-commits] [tor-browser-build/master] Bug 26476: Work around Windows Tor Browser bustage

gk at torproject.org gk at torproject.org
Sun Jun 24 21:16:24 UTC 2018


commit 43cefe3afeb58e7416f7b1e508c8a251b12efb72
Author: Georg Koppen <gk at 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 at 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 at 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



More information about the tor-commits mailing list