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 {