From 1af3e0a65e5c390ce46c4be9d3b9132768278ce9 Mon Sep 17 00:00:00 2001 From: Gary Guo Date: Sun, 24 Apr 2022 22:32:05 +0100 Subject: [PATCH] Ensure `#[used]` symbols are preserved in LTO --- compiler/rustc_codegen_llvm/src/back/lto.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/rustc_codegen_llvm/src/back/lto.rs b/compiler/rustc_codegen_llvm/src/back/lto.rs index 6bc242b46e043..da8d574abfe2d 100644 --- a/compiler/rustc_codegen_llvm/src/back/lto.rs +++ b/compiler/rustc_codegen_llvm/src/back/lto.rs @@ -56,7 +56,7 @@ fn prepare_lto( }; let symbol_filter = &|&(ref name, info): &(String, SymbolExportInfo)| { - if info.level.is_below_threshold(export_threshold) { + if info.level.is_below_threshold(export_threshold) || info.used { Some(CString::new(name.as_str()).unwrap()) } else { None