about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tools/miri/src/shims/tls.rs12
1 files 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) => {