[clang] [cfi] Enable -fsanitize-annotate-debug-info functionality for CFI checks (PR #139809)
Thurston Dang via cfe-commits
cfe-commits at lists.llvm.org
Thu May 15 11:00:10 PDT 2025
================
@@ -2779,13 +2779,50 @@ void CodeGenFunction::EmitTypeMetadataCodeForVCall(const CXXRecordDecl *RD,
}
}
+std::pair<SanitizerKind::SanitizerOrdinal, llvm::SanitizerStatKind>
+CodeGenFunction::ParseCFITypeCheckKind(CFITypeCheckKind TCK) {
+ SanitizerKind::SanitizerOrdinal M;
+ llvm::SanitizerStatKind SSK;
+
+ switch (TCK) {
+ case CFITCK_VCall:
+ M = SanitizerKind::SO_CFIVCall;
+ SSK = llvm::SanStat_CFI_VCall;
+ break;
+ case CFITCK_NVCall:
+ M = SanitizerKind::SO_CFINVCall;
+ SSK = llvm::SanStat_CFI_NVCall;
+ break;
+ case CFITCK_DerivedCast:
+ M = SanitizerKind::SO_CFIDerivedCast;
+ SSK = llvm::SanStat_CFI_DerivedCast;
+ break;
+ case CFITCK_UnrelatedCast:
+ M = SanitizerKind::SO_CFIUnrelatedCast;
+ SSK = llvm::SanStat_CFI_UnrelatedCast;
+ break;
+ case CFITCK_ICall:
----------------
thurstond wrote:
I was originally planning to make this function work more generally, but I've simplified it in https://github.com/llvm/llvm-project/pull/139809/commits/e9c40b9ff66ea7476f2d750883df9c7c63b9fec6 by removing ICall
https://github.com/llvm/llvm-project/pull/139809
More information about the cfe-commits
mailing list