Backed out changeset 4f9a0ee0ac42 (bug 1464084) for causing SM(pkg) crashes.
authorRyan VanderMeulen <ryanvm@gmail.com>
Tue, 05 Jun 2018 22:41:27 -0400
changeset 473621 2e763d5ed8e5eba9cba54780a3142b9365b0cce3
parent 473620 d36c7c1ab6ac171eb4fec4254feaa0132c7da1ed
child 473622 d45bd3bcab72649072fde981062a1b33dd7c65f5
push id1728
push userjlund@mozilla.com
push dateMon, 18 Jun 2018 21:12:27 +0000
treeherdermozilla-release@c296fde26f5f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1464084
milestone61.0
backs out4f9a0ee0ac425ba102e553be52a2f7fe1f22ccc9
Backed out changeset 4f9a0ee0ac42 (bug 1464084) for causing SM(pkg) crashes.
build/unix/stdc++compat/hide_std.ld
build/unix/stdc++compat/moz.build
python/mozbuild/mozbuild/action/generate_symbols_file.py
deleted file mode 100644
--- 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*;
-};
--- a/build/unix/stdc++compat/moz.build
+++ b/build/unix/stdc++compat/moz.build
@@ -18,10 +18,8 @@ FORCE_STATIC_LIB = True
 
 NO_PGO = True
 
 DisableStlWrapping()
 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]
--- a/python/mozbuild/mozbuild/action/generate_symbols_file.py
+++ b/python/mozbuild/mozbuild/action/generate_symbols_file.py
@@ -37,18 +37,16 @@ def generate_symbols_file(output, *args)
     else:
         pp.context['DATA'] = ''
     pp.out = StringIO()
     pp.do_filter('substitution')
     pp.do_include(input)
 
     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:
         # LIBRARY library.dll
         # EXPORTS
         #   symbol1
         #   symbol2
         #   ...
@@ -63,30 +61,31 @@ def generate_symbols_file(output, *args)
         #   data_symbol1 @DATA@
         #   data_symbol2 @DATA@
         #   ...
         # The DATA variable is "simply" expanded by the preprocessor, to
         # nothing on non-Windows, such that we only get the symbol name on
         # 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;
         #   ...
         # 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.
         output.write(''.join('_%s\n' % s for s in symbols))
 
     return set(pp.includes)