[PATCH] D39525: [cfi-verify] Add blacklist parsing for result filtering.

Mitch Phillips via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 1 18:24:29 PDT 2017


hctim created this revision.
Herald added a subscriber: mgorny.

Adds blacklist parsing behaviour for filtering results into four categories:

- Expected Protected: Things that are not in the blacklist and are protected.
- Unexpected Protected: Things that are in the blacklist and are protected.
- Expected Unprotected: Things that are in the blacklist and are unprotected.
- Unexpected Unprotected: Things that are not in the blacklist and are unprotected.

`llvm-cfi-verify` now can optionally be invoked with a second command line argument, which specifies the blacklist file that the binary was built with.

Current `-fsanitize=cfi-vcall,cfi-icall` statistics for chromium:

  Expected Protected: 100375 (69.00%)
  Unexpected Protected: 12171 (8.37%)
  Expected Unprotected: 16207 (11.14%)
  Unexpected Unprotected (BAD): 16726 (11.50%)


https://reviews.llvm.org/D39525

Files:
  test/tools/llvm-cfi-verify/X86/Inputs/protected-lineinfo.s
  test/tools/llvm-cfi-verify/X86/Inputs/unprotected-fullinfo.s
  test/tools/llvm-cfi-verify/X86/Inputs/unprotected-lineinfo.s
  test/tools/llvm-cfi-verify/X86/Inputs/unprotected-nolineinfo.s
  test/tools/llvm-cfi-verify/X86/blacklist-expected-unprotected.s
  test/tools/llvm-cfi-verify/X86/blacklist-match-fun.s
  test/tools/llvm-cfi-verify/X86/blacklist-unexpected-protected.s
  test/tools/llvm-cfi-verify/X86/indirect-cf-elimination.s
  test/tools/llvm-cfi-verify/X86/protected-lineinfo.s
  test/tools/llvm-cfi-verify/X86/unprotected-lineinfo.s
  test/tools/llvm-cfi-verify/X86/unprotected-nolineinfo.s
  tools/llvm-cfi-verify/CMakeLists.txt
  tools/llvm-cfi-verify/LLVMBuild.txt
  tools/llvm-cfi-verify/lib/CMakeLists.txt
  tools/llvm-cfi-verify/lib/FileAnalysis.cpp
  tools/llvm-cfi-verify/lib/FileAnalysis.h
  tools/llvm-cfi-verify/lib/LLVMBuild.txt
  tools/llvm-cfi-verify/llvm-cfi-verify.cpp
  unittests/tools/llvm-cfi-verify/CMakeLists.txt
  unittests/tools/llvm-cfi-verify/FileAnalysis.cpp
  unittests/tools/llvm-cfi-verify/GraphBuilder.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39525.121225.patch
Type: text/x-patch
Size: 57762 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171102/e112b105/attachment.bin>


More information about the llvm-commits mailing list