gecko-dev/build/unix/stdc++compat
Mike Hommey 5c6ce84a4c Bug 1464084 - Don't export std:🧵:_M_start_thread symbols with --enable-stdcxx-compat. r=froydnj
This relies on the fact that providing multiple --version-script
combines them all, so we effectively create a new symbol version
that has no global symbol, but hides the std:🧵:_M_start_thread
symbols.

This version script trick happens to work with BFD ld, gold, and lld.

The downside is that when providing multiple --version-script's, ld
doesn't want any of them to have no version at all. So for the libraries
that do already have a version script (through SYMBOLS_FILE), we use a
version where there used to be none, using the library name as the
version. Practically speaking, this binds the libraries a little closer
than they used to be, kind of non-flat namespace on OSX (which is the
default there), meaning the dynamic linker will actively want to use
symbols from those libraries instead of a system library that might
happen to have the same symbol name.

--HG--
extra : rebase_source : a7f672c35609d993849385ddb874ba791b34f929
2018-06-01 08:10:25 +09:00
..
hide_std.ld Bug 1464084 - Don't export std:🧵:_M_start_thread symbols with --enable-stdcxx-compat. r=froydnj 2018-06-01 08:10:25 +09:00
moz.build Bug 1464084 - Don't export std:🧵:_M_start_thread symbols with --enable-stdcxx-compat. r=froydnj 2018-06-01 08:10:25 +09:00
stdc++compat.cpp Bug 1390752 - Avoid std::basic_ios<char, std::char_traits<char>>::operator bool() references. r=froydnj 2017-08-16 15:03:43 +09:00