[llvm] 536bdc9 - [Coverage] Skip empty profile name section (#108480)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 13 16:41:11 PDT 2024
Author: gulfemsavrun
Date: 2024-09-13T16:41:07-07:00
New Revision: 536bdc99e6ed2388426ce94d0bd75a61aecab396
URL: https://github.com/llvm/llvm-project/commit/536bdc99e6ed2388426ce94d0bd75a61aecab396
DIFF: https://github.com/llvm/llvm-project/commit/536bdc99e6ed2388426ce94d0bd75a61aecab396.diff
LOG: [Coverage] Skip empty profile name section (#108480)
llvm-cov reads __llvm_prf_names section in an object file to find the
profile names, and it instead reads __llvm_covnames section in binary
profile correlation mode when __llvm_prf_names section is omitted. This
patch ensures that it still reads __llvm_covnames section when there is
an empty __llvm_prf_names section.
Added:
Modified:
llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Removed:
################################################################################
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
index 445b48067a9755..bc4e780fb67a60 100644
--- a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
+++ b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
@@ -1061,9 +1061,11 @@ lookupSections(ObjectFile &OF, InstrProfSectKind IPSK) {
if (!NameOrErr)
return NameOrErr.takeError();
if (stripSuffix(*NameOrErr) == Name) {
+ // Skip empty profile name section.
// COFF profile name section contains two null bytes indicating the
// start/end of the section. If its size is 2 bytes, it's empty.
- if (IsCOFF && IPSK == IPSK_name && Section.getSize() == 2)
+ if (IPSK == IPSK_name &&
+ (Section.getSize() == 0 || (IsCOFF && Section.getSize() == 2)))
continue;
Sections.push_back(Section);
}
More information about the llvm-commits
mailing list