mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-02 16:25:34 +03:00
fe1726521a
libc++ uses a Pthread condition variable in one of its initialization functions. This means that Pthread forwarding has to be set up in LibC before libc++ can be initialized. Also, because LibPthread is written in C++, (at least some) parts of the C++ standard library have to be linked against it. This is a circular dependency, which means that the order in which these two libraries' initialization functions are called is undefined. In some cases, libc++ will come first, which will then trigger an assert due to the missing Pthread forwarding. This issue isn't necessarily unique to LibPthread, as all libraries that libc++ depends on exhibit the same circular dependency issue. The reason why this issue didn't affect the GNU toolchain is that libstdc++ is always linked statically. If we were to change that, I believe that we would run into the same issue. |
||
---|---|---|
.. | ||
Superbuild | ||
all_the_debug_macros.cmake | ||
code_generators.cmake | ||
common_options.cmake | ||
commonmark_spec.cmake | ||
lagom_options.cmake | ||
lagom-install-config.cmake | ||
serenity_components.cmake | ||
serenity_options.cmake | ||
unicode_data.cmake | ||
utils.cmake | ||
wasm_spec_tests.cmake |