From 199cb740ebd73a5c6ad8ec18ae56f8ccdc600b72 Mon Sep 17 00:00:00 2001 From: Robert Colton Date: Sun, 12 Oct 2025 01:06:24 -0400 Subject: [PATCH] Fix symbol resolution in get_fn for external symbols --- compiler/rustc_codegen_llvm/src/callee.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_codegen_llvm/src/callee.rs b/compiler/rustc_codegen_llvm/src/callee.rs index b86b32b92df04..9a609ce8d6967 100644 --- a/compiler/rustc_codegen_llvm/src/callee.rs +++ b/compiler/rustc_codegen_llvm/src/callee.rs @@ -31,7 +31,9 @@ pub(crate) fn get_fn<'ll, 'tcx>(cx: &CodegenCx<'ll, 'tcx>, instance: Instance<'t let fn_abi = cx.fn_abi_of_instance(instance, ty::List::empty()); - let llfn = if let Some(llfn) = cx.get_declared_value(sym) { + let llfn = if let Some(llfn) = cx.get_declared_value(sym) + && (!cx.tcx.is_codegened_item(instance.def_id()) || !instance.def_id().is_local()) + { llfn } else { let instance_def_id = instance.def_id();