diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2021-09-13 19:49:49 +0200 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2021-09-13 19:49:49 +0200 |
commit | b18a97e5dd0935e1c4a626c230f21457d0aad3d5 (patch) | |
tree | c1818f41af6fe780deafb6cd6a183f32085fe654 /gcc/doc/gcov.texi | |
parent | e76a53644c9d70e998c0d050e9a456af388c6b61 (diff) | |
download | gcc-b18a97e5dd0935e1c4a626c230f21457d0aad3d5.zip gcc-b18a97e5dd0935e1c4a626c230f21457d0aad3d5.tar.gz gcc-b18a97e5dd0935e1c4a626c230f21457d0aad3d5.tar.bz2 |
Merged current trunk to branch.
Diffstat (limited to 'gcc/doc/gcov.texi')
-rw-r--r-- | gcc/doc/gcov.texi | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi index 00f0cdc..6a5760e 100644 --- a/gcc/doc/gcov.texi +++ b/gcc/doc/gcov.texi @@ -1,10 +1,10 @@ -@c Copyright (C) 1996-2020 Free Software Foundation, Inc. +@c Copyright (C) 1996-2021 Free Software Foundation, Inc. @c This is part of the GCC manual. @c For copying conditions, see the file gcc.texi. @ignore @c man begin COPYRIGHT -Copyright @copyright{} 1996-2020 Free Software Foundation, Inc. +Copyright @copyright{} 1996-2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -191,11 +191,11 @@ Structure of the JSON is following: @smallexample @{ - "current_working_directory": @var{current_working_directory}, - "data_file": @var{data_file}, - "format_version": @var{format_version}, - "gcc_version": @var{gcc_version} - "files": [@var{file}] + "current_working_directory": "foo/bar", + "data_file": "a.out", + "format_version": "1", + "gcc_version": "11.1.1 20210510" + "files": ["$file"] @} @end smallexample @@ -220,9 +220,9 @@ Each @var{file} has the following form: @smallexample @{ - "file": @var{file_name}, - "functions": [@var{function}], - "lines": [@var{line}] + "file": "a.c", + "functions": ["$function"], + "lines": ["$line"] @} @end smallexample @@ -237,15 +237,15 @@ Each @var{function} has the following form: @smallexample @{ - "blocks": @var{blocks}, - "blocks_executed": @var{blocks_executed}, - "demangled_name": "@var{demangled_name}, - "end_column": @var{end_column}, - "end_line": @var{end_line}, - "execution_count": @var{execution_count}, - "name": @var{name}, - "start_column": @var{start_column} - "start_line": @var{start_line} + "blocks": 2, + "blocks_executed": 2, + "demangled_name": "foo", + "end_column": 1, + "end_line": 4, + "execution_count": 1, + "name": "foo", + "start_column": 5, + "start_line": 1 @} @end smallexample @@ -289,11 +289,11 @@ Each @var{line} has the following form: @smallexample @{ - "branches": [@var{branch}], - "count": @var{count}, - "line_number": @var{line_number}, - "unexecuted_block": @var{unexecuted_block} - "function_name": @var{function_name}, + "branches": ["$branch"], + "count": 2, + "line_number": 15, + "unexecuted_block": false, + "function_name": "foo", @} @end smallexample @@ -320,9 +320,9 @@ Each @var{branch} has the following form: @smallexample @{ - "count": @var{count}, - "fallthrough": @var{fallthrough}, - "throw": @var{throw} + "count": 11, + "fallthrough": true, + "throw": false @} @end smallexample @@ -885,13 +885,14 @@ same source lines, the line counts themselves might seem inconsistent. Long-running applications can use the @code{__gcov_reset} and @code{__gcov_dump} facilities to restrict profile collection to the program region of -interest. Calling @code{__gcov_reset(void)} will clear all profile counters -to zero, and calling @code{__gcov_dump(void)} will cause the profile information -collected at that point to be dumped to @file{.gcda} output files. +interest. Calling @code{__gcov_reset(void)} will clear all run-time profile +counters to zero, and calling @code{__gcov_dump(void)} will cause the profile +information collected at that point to be dumped to @file{.gcda} output files. Instrumented applications use a static destructor with priority 99 to invoke the @code{__gcov_dump} function. Thus @code{__gcov_dump} is executed after all user defined static destructors, as well as handlers registered with @code{atexit}. + If an executable loads a dynamic shared object via dlopen functionality, @option{-Wl,--dynamic-list-data} is needed to dump all profile data. |