aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJames E Wilson <wilson@specifixinc.com>2005-08-13 13:52:01 -0700
committerJim Wilson <wilson@gcc.gnu.org>2005-08-13 13:52:01 -0700
commit0aca9021cd62a48a1b903cd38e9aad4a693ff4f0 (patch)
tree43fcacb2f18c92b8397198436e18dc3b8b7f137b /gcc
parent3256a76e621b4fd466ea9da5ce8de9a24a66aa0c (diff)
downloadgcc-0aca9021cd62a48a1b903cd38e9aad4a693ff4f0.zip
gcc-0aca9021cd62a48a1b903cd38e9aad4a693ff4f0.tar.gz
gcc-0aca9021cd62a48a1b903cd38e9aad4a693ff4f0.tar.bz2
Add missing docs for feature added by Richard Henderson.
* doc/cpp.texi (__SSP__, __SSP_ALL__): Document. * doc/invoke.texi (-Wstack-protector, -fstack-protector, -fstack-protector-all, --param ssp-buffer-size): Document. (-Wvariadic-macros): Alphabetize. (-fsched-stalled-insns-dep): Add missing 'f'. From-SVN: r103057
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/doc/cpp.texi9
-rw-r--r--gcc/doc/invoke.texi30
3 files changed, 43 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1058d98..f6243ce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2005-08-13 James E Wilson <wilson@specifix.com>
+
+ * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
+ * doc/invoke.texi (-Wstack-protector, -fstack-protector,
+ -fstack-protector-all, --param ssp-buffer-size): Document.
+ (-Wvariadic-macros): Alphabetize.
+ (-fsched-stalled-insns-dep): Add missing 'f'.
+
2005-08-13 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index e9c6407..f5f29a6 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -2117,6 +2117,15 @@ macro to determine which runtime (NeXT or GNU) is being used.
These macros are defined, with value 1, if (and only if) the compilation
is for a target where @code{long int} and pointer both use 64-bits and
@code{int} uses 32-bit.
+
+@item __SSP__
+This macro is defined, with value 1, when @option{-fstack-protector} is in
+use.
+
+@item __SSP_ALL__
+This macro is defined, with value 2, when @option{-fstack-protector-all} is
+in use.
+
@end table
@node System-specific Predefined Macros
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index a5491b06..643805c 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -238,13 +238,14 @@ Objective-C and Objective-C++ Dialects}.
-Wparentheses -Wpointer-arith -Wno-pointer-to-int-cast @gol
-Wredundant-decls @gol
-Wreturn-type -Wsequence-point -Wshadow @gol
--Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 @gol
+-Wsign-compare -Wstack-protector @gol
+-Wstrict-aliasing -Wstrict-aliasing=2 @gol
-Wswitch -Wswitch-default -Wswitch-enum @gol
-Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
-Wunknown-pragmas -Wno-pragmas -Wunreachable-code @gol
-Wunused -Wunused-function -Wunused-label -Wunused-parameter @gol
--Wunused-value -Wunused-variable -Wwrite-strings @gol
--Wvariadic-macros}
+-Wunused-value -Wunused-variable -Wvariadic-macros @gol
+-Wwrite-strings}
@item C-only Warning Options
@gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol
@@ -322,10 +323,11 @@ Objective-C and Objective-C++ Dialects}.
-frounding-math -fschedule-insns -fschedule-insns2 @gol
-fno-sched-interblock -fno-sched-spec -fsched-spec-load @gol
-fsched-spec-load-dangerous @gol
--fsched-stalled-insns=@var{n} -sched-stalled-insns-dep=@var{n} @gol
+-fsched-stalled-insns=@var{n} -fsched-stalled-insns-dep=@var{n} @gol
-fsched2-use-superblocks @gol
-fsched2-use-traces -freschedule-modulo-scheduled-loops @gol
-fsignaling-nans -fsingle-precision-constant @gol
+-fstack-protector -fstack-protector-all @gol
-fstrength-reduce -fstrict-aliasing -ftracer -fthread-jumps @gol
-funroll-all-loops -funroll-loops -fpeel-loops @gol
-fsplit-ivs-in-unroller -funswitch-loops @gol
@@ -3362,6 +3364,11 @@ This option is only supported for C and Objective-C@.
@item -Werror
@opindex Werror
Make all warnings into errors.
+
+@item -Wstack-protector
+This option is only active when @option{-fstack-protector} is active. It
+warns about functions that will not be protected against stack smashing.
+
@end table
@node Debugging Options
@@ -5628,6 +5635,17 @@ threading.
When performing branch target register load optimization, don't reuse
branch target registers in within any basic block.
+@item -fstack-protector
+Emit extra code to check for buffer overflows, such as stack smashing
+attacks. This is done by adding a guard variable to functions with
+vulnerable objects. This includes functions that call alloca, and
+functions with buffers larger than 8 bytes. The guards are initialized
+when a function is entered and then checked when the function exits.
+If a guard check fails, an error message is printed and the program exits.
+
+@item -fstack-protector-all
+Like @option{-fstack-protector} except that all functions are protected.
+
@item --param @var{name}=@var{value}
@opindex param
In some places, GCC uses various constants to control the amount of
@@ -6003,6 +6021,10 @@ than the number of virtual symbols to be updated, then the incremental
SSA updater switches to a full update for those symbols. The default
ratio is 3.
+@item ssp-buffer-size
+The minimum size of buffers (i.e. arrays) that will receive stack smashing
+protection when @option{-fstack-protection} is used.
+
@end table
@end table