about summary refs log tree commit diff
path: root/library/std/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-11-13 21:12:48 +0000
committerbors <bors@rust-lang.org>2022-11-13 21:12:48 +0000
commit7b513af6c4b39b86f70b19fbd1a2dc72aa485d5c (patch)
tree21f8885c16f5187a198f83283fc51263d07d0738 /library/std/src
parente631891f7ad40eac3ef58ec3c2b57ecd81e40615 (diff)
parent7333ee092b305a13cfdeabbd748ae1007985b4f1 (diff)
downloadrust-7b513af6c4b39b86f70b19fbd1a2dc72aa485d5c.tar.gz
rust-7b513af6c4b39b86f70b19fbd1a2dc72aa485d5c.zip
Auto merge of #103894 - mati865:gnullvm-libunwind-changes, r=thomcc
Change the way libunwind is linked for *-windows-gnullvm targets

I have no idea why previous way works for `x86_64-fortanix-unknown-sgx` (assuming it actually works...) but not for `gnullvm`. It fails when linking libtest during Rust build (unless somebody adds `RUSTFLAGS='-Clinkarg=-lunwind'`).
Also fixes exception handling on AArch64.
Diffstat (limited to 'library/std/src')
-rw-r--r--library/std/src/personality/gcc.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/std/src/personality/gcc.rs b/library/std/src/personality/gcc.rs
index 7f0b0439cf0..5fc1b91a1c3 100644
--- a/library/std/src/personality/gcc.rs
+++ b/library/std/src/personality/gcc.rs
@@ -219,7 +219,7 @@ cfg_if::cfg_if! {
         }
 
         cfg_if::cfg_if! {
-            if #[cfg(all(windows, target_arch = "x86_64", target_env = "gnu"))] {
+            if #[cfg(all(windows, any(target_arch = "aarch64", target_arch = "x86_64"), target_env = "gnu"))] {
                 // On x86_64 MinGW targets, the unwinding mechanism is SEH however the unwind
                 // handler data (aka LSDA) uses GCC-compatible encoding.
                 #[lang = "eh_personality"]