[PATCH] D91274: [WebAssembly] Ban all TLS on non-emscripten targets (even local-exec)

Alex Crichton via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 12 14:39:49 PST 2020


alexcrichton added a comment.

Currently rustc's threading-in-wasm story is still very DIY in that you're expected to take the low-level primitives that LLD emits and build your own tooling around initializing thread-locals and such. For example in wasm-bindgen we've got code to glue everything together, but that's all wasm-bindgen-specific and there's nothing more general AFAIK in Rust

For compilation we compile with wasm32-unknown-unknown, which is another big drawback of our story today because we don't have a dedicated target for threads, you just have to compile with the right flags. This is a reflection of how under-baked the story is in Rust today. FWIW I'd be happy to change whatever is necessary in rustc since I think we have very few users of threaded-wasm right now. I suspect whatever Emscripten is doing aligns pretty closely with where we'd want to end up!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91274/new/

https://reviews.llvm.org/D91274



More information about the llvm-commits mailing list