Fine-Grained Control-Flow Integrity Through Binary Hardening
Enforcing forward-edge control-flow integrity in GCC & LLVM