[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