[llvm-bugs] [Bug 28261] New: SanitizerCoverage generates wrong PCs on ARMv7

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Jun 22 04:33:24 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28261

            Bug ID: 28261
           Summary: SanitizerCoverage generates wrong PCs on ARMv7
           Product: clang
           Version: trunk
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: s_bugzilla at nedprod.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

If you follow the example on http://clang.llvm.org/docs/SanitizerCoverage.html
on an ARMv7 Linux system using clang/LLVM 3.9 trunk you'll get:

$ sancov -print *.sancov
0xc7c33
$ sancov -print-coverage-stats a.out*
Error: Coverage points in binary and .sancov file do not match.

The cause is the stored PC of 0xc7c33 - the correct value is 0xc7c30. I'd
suggest this is because your __sanitizer_cov() implementation is somehow
setting the bottom two bits of the PC written out (ARMv7 always has four byte
aligned program counters).

Niall

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160622/7aa89ca8/attachment.html>


More information about the llvm-bugs mailing list