Signature-based protection from code reuse attacks