--- - branch: MAIN date: Wed Dec 21 21:55:46 UTC 2016 files: - new: '1.2' old: 1.1.1.4 path: src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex pathrev: src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex@1.2 type: modified - new: '1.2' old: 1.1.1.2 path: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc pathrev: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc@1.2 type: modified id: 20161221T215546Z.49f21dd2547647ce90cb80c9fb54c9a42a5a64bb log: | Add a walkaround for TLS bug in libstdc++ exposed with std::call_once Currently std::call_once with libstdc++ works only with static linking. Disable code path using __thread types and introduce FIXME_PR_51139. Problem discussed in PR 51139 Functional std::call_once is required in LLVM and LLDB codebase. Example code to test std::call_once: #include #include #include #include std::once_flag flag; int main(int argc, char **argv) { std::call_once(flag, [](){ std::cout << "Simple example: called once\n"; }); return EXIT_SUCCESS; } Sponsored by module: src subject: 'CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3' unixtime: '1482357346' user: kamil