diff --git a/platform/web/detect.py b/platform/web/detect.py index 79485ea28a1..bf75c2f9fcf 100644 --- a/platform/web/detect.py +++ b/platform/web/detect.py @@ -227,6 +227,11 @@ def configure(env: "SConsEnvironment"): env.Append(LINKFLAGS=["-sDEFAULT_PTHREAD_STACK_SIZE=%sKB" % env["default_pthread_stack_size"]]) env.Append(LINKFLAGS=["-sPTHREAD_POOL_SIZE=8"]) env.Append(LINKFLAGS=["-sWASM_MEM_MAX=2048MB"]) + if not env["dlink_enabled"]: + # Workaround https://github.com/emscripten-core/emscripten/issues/21844#issuecomment-2116936414. + # Not needed (and potentially dangerous) when dlink_enabled=yes, since we set EXPORT_ALL=1 in that case. + env.Append(LINKFLAGS=["-sEXPORTED_FUNCTIONS=['__emscripten_thread_crashed','_main']"]) + elif env["proxy_to_pthread"]: print_warning('"threads=no" support requires "proxy_to_pthread=no", disabling proxy to pthread.') env["proxy_to_pthread"] = False