about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristopher Serr <christopher.serr@gmail.com>2018-11-08 02:56:25 +0100
committerChristopher Serr <christopher.serr@gmail.com>2018-11-08 03:27:45 +0100
commita9b598884719cccdcf699567cece2a6ac46fc84c (patch)
treef6799ed40dd129d0c382e4cf1c752af7232a52c0
parent25a42b2ceb46887e9941cec667eac99844dd7ad0 (diff)
downloadrust-a9b598884719cccdcf699567cece2a6ac46fc84c.tar.gz
rust-a9b598884719cccdcf699567cece2a6ac46fc84c.zip
wasm32-unknown-emscripten expects the rust_eh_personality symbol
The `wasm32-unknown-emscripten` expects the `rust_eh_personality` symbol to be there, but a cfg checking for `target_arch = "wasm32"` which was meant to remove the symbol from the `wasm32-unknown-unknown` target, didn't check for whether `emscripten` is targeted or not, so the symbol accidentally got filtered out there as well.

Fixes #55276
-rw-r--r--src/libpanic_abort/lib.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libpanic_abort/lib.rs b/src/libpanic_abort/lib.rs
index b86928534cb..9235f8e7660 100644
--- a/src/libpanic_abort/lib.rs
+++ b/src/libpanic_abort/lib.rs
@@ -97,7 +97,10 @@ pub unsafe extern fn __rust_start_panic(_payload: usize) -> u32 {
 pub mod personalities {
     #[no_mangle]
     #[cfg(not(any(
-        target_arch = "wasm32",
+        all(
+            target_arch = "wasm32",
+            not(target_os = "emscripten"),
+        ),
         all(
             target_os = "windows",
             target_env = "gnu",