Building secure defenses against code-reuse attacks (2015)