This patch introduces the -fsanitize=cfi-vptr flag, which enables a control
flow integrity scheme that checks that virtual calls take place using a vptr of
the correct dynamic type. More details in the new docs/ControlFlowIntegrity.rst
file.
It also introduces the -fsanitize=cfi flag, which is currently a synonym for
-fsanitize=cfi-vptr, but will eventually cover all CFI checks implemented
in Clang.
This uses the bitset mechanism currently under review at
http://reviews.llvm.org/D7288
Could you add a section which contains links to publications on CFI, for the approaches that are implemented as well as ones that aren't but may be relevant.