From 5238d1779778097d0bcf3a9fc83bb4a37732cb3e Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sun, 27 Nov 2022 13:19:54 +0100 Subject: [PATCH] fix TLS on partially supported OSes --- src/tools/miri/src/shims/tls.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/tools/miri/src/shims/tls.rs b/src/tools/miri/src/shims/tls.rs index 65978c9774f..fe278ff717f 100644 --- a/src/tools/miri/src/shims/tls.rs +++ b/src/tools/miri/src/shims/tls.rs @@ -240,7 +240,7 @@ impl TlsDtorsState { match &mut self.0 { Init => { match this.tcx.sess.target.os.as_ref() { - "linux" => { + "linux" | "freebsd" | "android" => { // Run the pthread dtors. self.0 = PthreadDtors(Default::default()); } @@ -257,10 +257,16 @@ impl TlsDtorsState { // And move to the final state. self.0 = Done; } - _ => { - // No TLS support for this platform, directly move to final state. + "wasi" | "none" => { + // No OS, no TLS dtors. + // FIXME: should we do something on wasi? self.0 = Done; } + os => { + throw_unsup_format!( + "the TLS machinery does not know how to handle OS `{os}`" + ); + } } } PthreadDtors(state) => {