From a36a97fd9bb884da2080c41a80c12404f01be893 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Mon, 11 May 2026 21:08:56 +0200 Subject: [PATCH] mark the 'import linkage' statics as unnamed_addr --- compiler/rustc_codegen_llvm/src/consts.rs | 1 + tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_codegen_llvm/src/consts.rs b/compiler/rustc_codegen_llvm/src/consts.rs index 3514fb145612a..ab3e4b8d9effa 100644 --- a/compiler/rustc_codegen_llvm/src/consts.rs +++ b/compiler/rustc_codegen_llvm/src/consts.rs @@ -206,6 +206,7 @@ fn check_and_apply_linkage<'ll, 'tcx>( }) }); llvm::set_linkage(g2, llvm::Linkage::InternalLinkage); + llvm::set_unnamed_address(g2, llvm::UnnamedAddr::Global); llvm::set_initializer(g2, g1); g2 } else if cx.tcx.sess.target.arch == Arch::X86 diff --git a/tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs b/tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs index 893b016769368..6ac95aabae877 100644 --- a/tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs +++ b/tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs @@ -10,7 +10,7 @@ unsafe extern "C" { #[linkage = "extern_weak"] static FOO: Option ()>; } -// CHECK: @_rust_extern_with_linkage_{{.*}}_FOO = internal global ptr @FOO +// CHECK: @_rust_extern_with_linkage_{{.*}}_FOO = internal unnamed_addr global ptr @FOO fn main() { unsafe {