rust/library/std
bors 608f32435a Auto merge of #117873 - quininer:android-emutls, r=Amanieu
Add emulated TLS support

This is a reopen of https://github.com/rust-lang/rust/pull/96317 . many android devices still only use 128 pthread keys, so using emutls can be helpful.

Currently LLVM uses emutls by default for some targets (such as android, openbsd), but rust does not use it, because `has_thread_local` is false.

This commit has some changes to allow users to enable emutls:

1. add `-Zhas-thread-local` flag to specify that std uses `#[thread_local]` instead of pthread key.
2. when using emutls, decorate symbol names to find thread local symbol correctly.
3. change `-Zforce-emulated-tls` to `-Ztls-model=emulated` to explicitly specify whether to generate emutls.

r? `@Amanieu`
2023-12-09 05:32:35 +00:00
..
benches mv std libs to library/ 2020-07-27 19:51:13 -05:00
src Auto merge of #117873 - quininer:android-emutls, r=Amanieu 2023-12-09 05:32:35 +00:00
tests Move RandomState and DefaultHasher into std::hash, but don't export for now 2023-11-02 20:35:20 -04:00
build.rs add teeos std impl 2023-12-07 10:33:03 +08:00
Cargo.toml libc: bump dependency to 0.2.150 2023-11-05 18:32:10 +01:00