Skip to content
  1. Nov 04, 2017
  2. Nov 03, 2017
    • Mitch Phillips's avatar
      [cfi-verify] Add blacklist parsing for result filtering. · c15bdf55
      Mitch Phillips authored
      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.
      
       now can optionally be invoked with a second command line argument, which specifies the blacklist file that the binary was built with.
      
      Current  statistics for chromium:
      
      Reviewers: vlad.tsyrklevich
      
      Subscribers: mgorny, llvm-commits, pcc, kcc
      
      Differential Revision: https://reviews.llvm.org/D39525
      
      llvm-svn: 317364
      c15bdf55
  3. Nov 02, 2017
  4. Nov 01, 2017
    • Mitch Phillips's avatar
      Parse DWARF information to reduce false positives. · 7db6f7a3
      Mitch Phillips authored
      Summary: Help differentiate code and data by parsing DWARF information. This will reduce false positive rates where data is placed in executable sections and is mistakenly parsed as code, resulting in an inflation in the number of indirect CF instructions (and hence an inflation of the number of unprotected).
      
      Also prints the DWARF line data around the region of each indirect CF instruction.
      
      Reviewers: pcc
      
      Subscribers: probinson, llvm-commits, vlad.tsyrklevich, mgorny, aprantl, kcc
      
      Differential Revision: https://reviews.llvm.org/D38654
      
      llvm-svn: 317050
      7db6f7a3
  5. Oct 25, 2017
    • Mitch Phillips's avatar
      Add FileVerifier::isCFIProtected(). · 5ff01cdc
      Mitch Phillips authored
      Add a CFI protection check that is implemented by building a graph and inspecting the output to deduce if the indirect CF instruction is CFI protected. Also added the output of this instruction to printIndirectInstructions().
      
      Reviewers: vlad.tsyrklevich
      
      Subscribers: llvm-commits, kcc, pcc, mgorny
      
      Differential Revision: https://reviews.llvm.org/D38428
      
      llvm-svn: 316610
      5ff01cdc
  6. Oct 24, 2017
  7. Oct 23, 2017
  8. Oct 18, 2017
    • Vlad Tsyrklevich's avatar
      Statically link llvm-cfi-verify's libraries. · 4dc1c973
      Vlad Tsyrklevich authored
      Summary:
      llvm-cfi-verify (D38379) introduced a potential build failure when compiling with `-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON`. Specific versions of cmake seem to treat the `add_subdirectory()` rule differently. It seems as if old versions of cmake BFS these rules, adding them to the fringe for expansion later. Newer versions of cmake seem to immediately execute CMakeFiles that are present in this subdirectory.
      
      If the subdirectory is expanded through the fringe, the globbing resultant from `llvm_add_implicit_projects()` from `cmake/modules/AddLLVM.cmake:1012` means that `tools/llvm-shlib/CMakeFile.txt` gets executed before `tools/llvm-cfi-verify/lib/CMakeFile.txt`. As the latter CMakeFile adds a new library, this expansion order means that the library files required the unit tests in `unittests/tools/llvm-cfi-verify/` are not present in the dynamic library. This causes unit tests to fail as the required functions can't be found.
      
      This change now ensures that the libraries created by `llvm-cfi-verify` are statically linked into the unit tests. As `tools/llvm-cfi-verify/lib` no longer adds anything to `llvm-shlib`, there should be no concern about the order-of-compilation.
      
      Reviewers: skatkov, pcc
      
      Reviewed By: skatkov, pcc
      
      Subscribers: llvm-commits, kcc, pcc, aheejin, vlad.tsyrklevich, mgorny
      
      Differential Revision: https://reviews.llvm.org/D39020
      
      llvm-svn: 316059
      4dc1c973
  9. Oct 12, 2017
  10. Oct 11, 2017
  11. Oct 10, 2017
    • Vlad Tsyrklevich's avatar
      Revert "Classify llvm-cfi-verify." · a45919f5
      Vlad Tsyrklevich authored
      This reverts commit r315363. It has a simple build failure, but more
      importantly I want to confirm that unit tests run in check-all to make
      sure that they don't silently break in the future.
      
      llvm-svn: 315370
      a45919f5
    • Vlad Tsyrklevich's avatar
      Classify llvm-cfi-verify. · b5488a22
      Vlad Tsyrklevich authored
      Summary: Move llvm-cfi-verify into a class in preparation for CFI analysis to come.
      
      Reviewers: vlad.tsyrklevich
      
      Reviewed By: vlad.tsyrklevich
      
      Subscribers: mgorny, llvm-commits, pcc, kcc
      
      Differential Revision: https://reviews.llvm.org/D38379
      
      llvm-svn: 315363
      b5488a22
  12. Sep 20, 2017
Loading