about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs
diff options
context:
space:
mode:
authorRamon de C Valle <rcvalle@users.noreply.github.com>2023-05-03 22:22:24 +0000
committerRamon de C Valle <rcvalle@users.noreply.github.com>2023-05-09 20:04:19 +0000
commit7c7b22e62cd3aa34ef60ec98b145258caa55261f (patch)
treeca585ce832e8a356ca78d1b6da720dc853471707 /compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs
parenteac35583d2ffb5ed9e564dee0822c9a244058ee0 (diff)
downloadrust-7c7b22e62cd3aa34ef60ec98b145258caa55261f.tar.gz
rust-7c7b22e62cd3aa34ef60ec98b145258caa55261f.zip
CFI: Fix SIGILL reached via trait objects
Fix #106547 by transforming the concrete self into a reference to a
trait object before emitting type metadata identifiers for trait
methods.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs')
-rw-r--r--compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs b/compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs
index 3dc0ac03312..cd261293e9b 100644
--- a/compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs
+++ b/compiler/rustc_codegen_llvm/src/coverageinfo/mod.rs
@@ -207,6 +207,7 @@ fn declare_unused_fn<'tcx>(cx: &CodegenCx<'_, 'tcx>, def_id: DefId) -> Instance<
             )),
             ty::List::empty(),
         ),
+        None,
     );
 
     llvm::set_linkage(llfn, llvm::Linkage::PrivateLinkage);