From f19701293c2ba563543f62e7cd24cf165f3545d6 Mon Sep 17 00:00:00 2001 From: Ayaz Hafiz Date: Wed, 27 Apr 2022 17:04:24 -0400 Subject: [PATCH] Mark setjmp/longjmp as explicitly linked --- linker/src/lib.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/linker/src/lib.rs b/linker/src/lib.rs index 1b4a2a8d14..b41144a600 100644 --- a/linker/src/lib.rs +++ b/linker/src/lib.rs @@ -1401,8 +1401,16 @@ fn surgery_impl( return Ok(-1); } } - } else if matches!(app_obj.symbol_by_index(index), Ok(sym) if ["__divti3", "__udivti3"].contains(&sym.name().unwrap_or_default())) - { + } else if { + const ALWAYS_LINKED: &[&str] = &[ + "__divti3", + "__udivti3", + // By zig builtins + "setjmp", + "longjmp", + ]; + matches!(app_obj.symbol_by_index(index), Ok(sym) if ALWAYS_LINKED.contains(&sym.name().unwrap_or_default())) + } { // Explicitly ignore some symbols that are currently always linked. continue; } else {