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