forked from OSchip/llvm-project
d49d8eec12
When we generate coverage data, we explicitly set each coverage map's alignment to 8 (See InstrProfiling::lowerCoverageData), but when we read the coverage data, we assume consecutive maps are exactly adjacent. When we're dealing with 32 bit, maps can end on a 4 byte boundary, causing us to think the padding is part of the next record. Fix this by adjusting the buffer to an appropriately aligned address between records. This is pretty awkward to test, as it requires a binary with multiple coverage maps to hit, so we'd need to check in multiple source files and a binary blob as inputs. llvm-svn: 239129 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CoverageMapping.cpp | ||
CoverageMappingReader.cpp | ||
CoverageMappingWriter.cpp | ||
InstrProf.cpp | ||
InstrProfIndexed.h | ||
InstrProfReader.cpp | ||
InstrProfWriter.cpp | ||
LLVMBuild.txt | ||
Makefile | ||
SampleProf.cpp | ||
SampleProfReader.cpp | ||
SampleProfWriter.cpp |