about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-11-19 15:35:20 +0100
committerGitHub <noreply@github.com>2022-11-19 15:35:20 +0100
commit747f29fbabbf7e230be442e5f5023692d816ab3a (patch)
treef55f2506d29c5a0d6efe410c35c3a0b14b0a9fda
parent4451e2881fbc7c066e8f44c1b09b69b0648e41d7 (diff)
parent7c602360364ac21ee17d5fd81dc142ecb67b56a5 (diff)
downloadrust-747f29fbabbf7e230be442e5f5023692d816ab3a.tar.gz
rust-747f29fbabbf7e230be442e5f5023692d816ab3a.zip
Rollup merge of #103989 - arlosi:arm32-panic, r=Amanieu
Fix build of std for thumbv7a-pc-windows-msvc

Attempting to build std for the tier-3 target `thumbv7a-pc-windows-msvc` fails with the following error:
```
Building stage1 std artifacts (x86_64-pc-windows-msvc -> thumbv7a-pc-windows-msvc)
..
LLVM ERROR: WinEH not implemented for this target
error: could not compile `panic_unwind`
```

EH (unwinding) is not supported by LLVM for 32 bit arm msvc targets. This changes panic unwind to use the dummy implementation for `thumbv7a-pc-windows-msvc`.
-rw-r--r--library/panic_unwind/src/lib.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/library/panic_unwind/src/lib.rs b/library/panic_unwind/src/lib.rs
index 1eb4f378904..7e7180a38e2 100644
--- a/library/panic_unwind/src/lib.rs
+++ b/library/panic_unwind/src/lib.rs
@@ -42,7 +42,8 @@ cfg_if::cfg_if! {
         // L4Re is unix family but does not yet support unwinding.
         #[path = "dummy.rs"]
         mod real_imp;
-    } else if #[cfg(target_env = "msvc")] {
+    } else if #[cfg(all(target_env = "msvc", not(target_arch = "arm")))] {
+        // LLVM does not support unwinding on 32 bit ARM msvc (thumbv7a-pc-windows-msvc)
         #[path = "seh.rs"]
         mod real_imp;
     } else if #[cfg(any(