summaryrefslogtreecommitdiff
path: root/gcc/doc/standards.texi
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2021-10-28 00:51:02 -0300
committerAlexandre Oliva <oliva@gnu.org>2021-10-28 00:51:02 -0300
commit95bb87b2458bfab4f8557a2dfdc867fb14305455 (patch)
treef2631aca2523d8600de2182a5722c4d0b48f9100 /gcc/doc/standards.texi
parent5f9ef1339e9d0d709af6a70b60e584bf7decd761 (diff)
downloadgcc-95bb87b2458bfab4f8557a2dfdc867fb14305455.tar.gz
hardened conditionals
This patch introduces optional passes to harden conditionals used in branches, and in computing boolean expressions, by adding redundant tests of the reversed conditions, and trapping in case of unexpected results. Though in abstract machines the redundant tests should never fail, CPUs may be led to misbehave under certain kinds of attacks, such as of power deprivation, and these tests reduce the likelihood of going too far down an unexpected execution path. for gcc/ChangeLog * common.opt (fharden-compares): New. (fharden-conditional-branches): New. * doc/invoke.texi: Document new options. * gimple-harden-conditionals.cc: New. * Makefile.in (OBJS): Build it. * passes.def: Add new passes. * tree-pass.h (make_pass_harden_compares): Declare. (make_pass_harden_conditional_branches): Declare. for gcc/ada/ChangeLog * doc/gnat_rm/security_hardening_features.rst (Hardened Conditionals): New. for gcc/testsuite/ChangeLog * c-c++-common/torture/harden-comp.c: New. * c-c++-common/torture/harden-cond.c: New.
Diffstat (limited to 'gcc/doc/standards.texi')
0 files changed, 0 insertions, 0 deletions