[PATCH] Implement Control Flow Integrity for virtual calls.
Peter Collingbourne
peter at pcc.me.uk
Thu Feb 5 14:55:48 PST 2015
================
Comment at: docs/ControlFlowIntegrity.rst:3
@@ +2,3 @@
+Control Flow Integrity
+======================
+
----------------
jfb wrote:
> 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.
Done.
================
Comment at: lib/AST/MicrosoftMangle.cpp:2574
@@ +2573,3 @@
+ raw_ostream &Out) {
+ llvm_unreachable("Cannot mangle bitsets yet");
+}
----------------
pcc wrote:
> jfb wrote:
> > `report_fatal_error`
> Makes sense. I suppose you can contrive to get here with the Microsoft ABI.
Actually I don't think you can. The `mangleCXXVTableBitSet` function can only be reached from the Itanium-specific code that sets up a vtable call or constructs a vtable, or from `GenerateConstructionVTable`, which is only used by the code that creates VTTs, which is an Itanium-specific concept. I changed it anyway to be defensive.
http://reviews.llvm.org/D7424
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the cfe-commits
mailing list