diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-11-20 20:10:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-20 20:10:14 +0100 |
| commit | 1099bc8e735430d860c7dc410024108f78d4c28b (patch) | |
| tree | e83bcd7b3a74c351b0d7381ab4dcb5a0fd426502 /compiler | |
| parent | fbed195b4df1a21aee835e68efa88e8f4c4e0d4a (diff) | |
| parent | f37d021d6ccb7949ba8e8b2a5d6e91686063da2a (diff) | |
| download | rust-1099bc8e735430d860c7dc410024108f78d4c28b.tar.gz rust-1099bc8e735430d860c7dc410024108f78d4c28b.zip | |
Rollup merge of #133244 - daxpedda:wasm32v1-none-atomic, r=alexcrichton
Account for `wasm32v1-none` when exporting TLS symbols Exporting TLS related symbols was limited to `wasm32-unknown-unknown` because WASI and Emscripten (?) have their own infrastructure to deal with TLS. However, the introduction of `wasm32v1-none` is in the same boat as `wasm32-unknown-unknown`. This PR adjust the mechanism to account for `wasm32v1-none` as well. See https://github.com/rust-lang/rust/pull/102385 and https://github.com/rust-lang/rust/pull/102440. r? ``@alexcrichton``
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/linker.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/linker.rs b/compiler/rustc_codegen_ssa/src/back/linker.rs index 4f3664a503d..6ee599c9964 100644 --- a/compiler/rustc_codegen_ssa/src/back/linker.rs +++ b/compiler/rustc_codegen_ssa/src/back/linker.rs @@ -1279,7 +1279,7 @@ impl<'a> WasmLd<'a> { let mut wasm_ld = WasmLd { cmd, sess }; if sess.target_features.contains(&sym::atomics) { wasm_ld.link_args(&["--shared-memory", "--max-memory=1073741824", "--import-memory"]); - if sess.target.os == "unknown" { + if sess.target.os == "unknown" || sess.target.os == "none" { wasm_ld.link_args(&[ "--export=__wasm_init_tls", "--export=__tls_size", @@ -1403,7 +1403,7 @@ impl<'a> Linker for WasmLd<'a> { // symbols explicitly passed via the `--export` flags above and hides all // others. Various bits and pieces of wasm32-unknown-unknown tooling use // this, so be sure these symbols make their way out of the linker as well. - if self.sess.target.os == "unknown" { + if self.sess.target.os == "unknown" || self.sess.target.os == "none" { self.link_args(&["--export=__heap_base", "--export=__data_end"]); } } |
