Commit c608d704 by Sandra Loosemore Committed by Sandra Loosemore

invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.

2015-01-09  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
	([-fvtv-debug], [-fvtv-counts]): Likewise.  Correct location
	of log files.

From-SVN: r219414
parent 8cf8f223
2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
* doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
of log files.
2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
* config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon. * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
......
...@@ -2440,35 +2440,38 @@ violation of the ODR to define types with the same name differently. ...@@ -2440,35 +2440,38 @@ violation of the ODR to define types with the same name differently.
@item -fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @item -fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]}
@opindex fvtable-verify @opindex fvtable-verify
Turn on (or off, if using @option{-fvtable-verify=none}) the security Turn on (or off, if using @option{-fvtable-verify=none}) the security
feature that verifies at runtime, for every virtual call that is made, that feature that verifies at run time, for every virtual call, that
the vtable pointer through which the call is made is valid for the type of the vtable pointer through which the call is made is valid for the type of
the object, and has not been corrupted or overwritten. If an invalid vtable the object, and has not been corrupted or overwritten. If an invalid vtable
pointer is detected (at runtime), an error is reported and execution of the pointer is detected at run time, an error is reported and execution of the
program is immediately halted. program is immediately halted.
This option causes runtime data structures to be built, at program start up, This option causes run-time data structures to be built at program startup,
for verifying the vtable pointers. The options @code{std} and @code{preinit} which are used for verifying the vtable pointers.
The options @samp{std} and @samp{preinit}
control the timing of when these data structures are built. In both cases the control the timing of when these data structures are built. In both cases the
data structures are built before execution reaches 'main'. The data structures are built before execution reaches @code{main}. Using
@option{-fvtable-verify=std} causes these data structure to be built after the @option{-fvtable-verify=std} causes the data structures to be built after
shared libraries have been loaded and initialized. shared libraries have been loaded and initialized.
@option{-fvtable-verify=preinit} causes them to be built before the shared @option{-fvtable-verify=preinit} causes them to be built before shared
libraries have been loaded and initialized. libraries have been loaded and initialized.
If this option appears multiple times in the compiler line, with different If this option appears multiple times in the command line with different
values specified, 'none' takes highest priority over both 'std' and values specified, @samp{none} takes highest priority over both @samp{std} and
'preinit'; 'preinit' takes priority over 'std'. @samp{preinit}; @samp{preinit} takes priority over @samp{std}.
@item -fvtv-debug @item -fvtv-debug
@opindex fvtv-debug @opindex fvtv-debug
Causes debug versions of the runtime functions for the vtable verification When used in conjunction with @option{-fvtable-verify=std} or
feature to be called. This assumes the @option{-fvtable-verify=std} or @option{-fvtable-verify=preinit}, causes debug versions of the
@option{-fvtable-verify=preinit} has been used. This flag also causes the runtime functions for the vtable verification feature to be called.
compiler to keep track of which vtable pointers it found for each class, and This flag also causes the compiler to log information about which
record that information in the file ``vtv_set_ptr_data.log'', in the dump vtable pointers it finds for each class.
file directory on the user's machine. This information is written to a file named @file{vtv_set_ptr_data.log}
in the directory named by the environment variable @env{VTV_LOGS_DIR}
Note: This feature APPENDS data to the log file. If you want a fresh log if that is defined or the current working directory otherwise.
Note: This feature @emph{appends} data to the log file. If you want a fresh log
file, be sure to delete any existing one. file, be sure to delete any existing one.
@item -fvtv-counts @item -fvtv-counts
...@@ -2476,15 +2479,17 @@ file, be sure to delete any existing one. ...@@ -2476,15 +2479,17 @@ file, be sure to delete any existing one.
This is a debugging flag. When used in conjunction with This is a debugging flag. When used in conjunction with
@option{-fvtable-verify=std} or @option{-fvtable-verify=preinit}, this @option{-fvtable-verify=std} or @option{-fvtable-verify=preinit}, this
causes the compiler to keep track of the total number of virtual calls causes the compiler to keep track of the total number of virtual calls
it encountered and the number of verifications it inserted. It also it encounters and the number of verifications it inserts. It also
counts the number of calls to certain runtime library functions counts the number of calls to certain run-time library functions
that it inserts. This information, for each compilation unit, is written that it inserts and logs this information for each compilation unit.
to a file named ``vtv_count_data.log'', in the dump_file directory on The compiler writes this information to a file named
the user's machine. It also counts the size of the vtable pointer sets @file{vtv_count_data.log} in the directory named by the environment
for each class, and writes this information to ``vtv_class_set_sizes.log'' variable @env{VTV_LOGS_DIR} if that is defined or the current working
directory otherwise. It also counts the size of the vtable pointer sets
for each class, and writes this information to @file{vtv_class_set_sizes.log}
in the same directory. in the same directory.
Note: This feature APPENDS data to the log files. To get a fresh log Note: This feature @emph{appends} data to the log files. To get fresh log
files, be sure to delete any existing ones. files, be sure to delete any existing ones.
@item -fno-weak @item -fno-weak
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment