75 lines
3.2 KiB
Diff
75 lines
3.2 KiB
Diff
Index: gcc/doc/invoke.texi
|
|
===================================================================
|
|
RCS file: /cvsroot/gcc/gcc/gcc/doc/invoke.texi,v
|
|
retrieving revision 1.364
|
|
diff -c -3 -p -r1.364 invoke.texi
|
|
*** gcc/doc/invoke.texi 21 Nov 2003 11:42:58 -0000 1.364
|
|
--- gcc/doc/invoke.texi 22 Nov 2003 08:12:35 -0000
|
|
*************** in the following sections.
|
|
*** 228,234 ****
|
|
-Wno-multichar -Wnonnull -Wpacked -Wpadded @gol
|
|
-Wparentheses -Wpointer-arith -Wredundant-decls @gol
|
|
-Wreturn-type -Wsequence-point -Wshadow @gol
|
|
! -Wsign-compare -Wstrict-aliasing @gol
|
|
-Wswitch -Wswitch-default -Wswitch-enum @gol
|
|
-Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
|
|
-Wunknown-pragmas -Wunreachable-code @gol
|
|
--- 228,234 ----
|
|
-Wno-multichar -Wnonnull -Wpacked -Wpadded @gol
|
|
-Wparentheses -Wpointer-arith -Wredundant-decls @gol
|
|
-Wreturn-type -Wsequence-point -Wshadow @gol
|
|
! -Wsign-compare -Wstack-protector -Wstrict-aliasing @gol
|
|
-Wswitch -Wswitch-default -Wswitch-enum @gol
|
|
-Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
|
|
-Wunknown-pragmas -Wunreachable-code @gol
|
|
*************** in the following sections.
|
|
*** 681,686 ****
|
|
--- 681,687 ----
|
|
-fshort-double -fshort-wchar @gol
|
|
-fverbose-asm -fpack-struct -fstack-check @gol
|
|
-fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol
|
|
+ -fstack-protector -fstack-protector-all @gol
|
|
-fargument-alias -fargument-noalias @gol
|
|
-fargument-noalias-global -fleading-underscore @gol
|
|
-ftls-model=@var{model} @gol
|
|
*************** effectively. Often, the problem is that
|
|
*** 3014,3019 ****
|
|
--- 3015,3024 ----
|
|
complex; GCC will refuse to optimize programs when the optimization
|
|
itself is likely to take inordinate amounts of time.
|
|
|
|
+ @item -Wstack-protector
|
|
+ @opindex Wstack-protector
|
|
+ Warn when not issuing stack smashing protection for some reason
|
|
+
|
|
@item -Werror
|
|
@opindex Werror
|
|
Make all warnings into errors.
|
|
*************** and grows downwards, you can use the fla
|
|
*** 11474,11479 ****
|
|
--- 11479,11502 ----
|
|
@option{-fstack-limit-symbol=__stack_limit} and
|
|
@option{-Wl,--defsym,__stack_limit=0x7ffe0000} to enforce a stack limit
|
|
of 128KB@. Note that this may only work with the GNU linker.
|
|
+
|
|
+ @item -fstack-protector
|
|
+ @item -fstack-protector-all
|
|
+ @opindex fstack-protector
|
|
+ @opindex fstack-protector-all
|
|
+ @opindex fno-stack-protector
|
|
+ Generate code to protect an application from a stack smashing
|
|
+ attack. The features are (1) the insertion of random value next to the
|
|
+ frame pointer to detect the integrity of the stack, (2) the reordering
|
|
+ of local variables to place buffers after pointers to avoid the
|
|
+ corruption of pointers that could be used to further corrupt arbitrary
|
|
+ memory locations, (3) the copying of pointers in function arguments to
|
|
+ an area preceding local variable buffers to prevent the corruption of
|
|
+ pointers that could be used to further corrupt arbitrary memory
|
|
+ locations, and the (4) omission of instrumentation code from some
|
|
+ functions to decrease the performance overhead. If the integrity
|
|
+ would be broken, the program is aborted. If no-stack-protector is
|
|
+ specified, instrumentation codes are generated at every functions.
|
|
|
|
@cindex aliasing of parameters
|
|
@cindex parameters, aliased
|