diff mbox series

Document gcov-io (PR gcov-profile/84735).

Message ID 8d396e43-9eaa-040c-cc52-140506d3f3c2@suse.cz
State New
Headers show
Series Document gcov-io (PR gcov-profile/84735). | expand

Commit Message

Martin Liška March 7, 2018, 2:31 p.m. UTC
Hi.

Attempt of the patch is to explain that consumers of gcov tool should
use the intermediate format instead of reading of the profile files.
The format change is documented.

Ready for trunk?
Thanks,
Martin

gcc/ChangeLog:

2018-03-07  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/84735
	* doc/gcov.texi: Document usage of profile files.
	* gcov-io.h: Document changes in the format.
---
 gcc/doc/gcov.texi | 6 +++---
 gcc/gcov-io.h     | 8 ++++++--
 2 files changed, 9 insertions(+), 5 deletions(-)

Comments

Nathan Sidwell March 7, 2018, 2:44 p.m. UTC | #1
On 03/07/2018 09:31 AM, Martin Liška wrote:
> Hi.
> 
> Attempt of the patch is to explain that consumers of gcov tool should
> use the intermediate format instead of reading of the profile files.
> The format change is documented.

ok
diff mbox series

Patch

diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi
index d4c7806bc23..59235876aaa 100644
--- a/gcc/doc/gcov.texi
+++ b/gcc/doc/gcov.texi
@@ -816,9 +816,9 @@  A separate @file{.gcda} file is created for each object file compiled with
 this option.  It contains arc transition counts, value profile counts, and
 some summary information.
 
-The full details of the file format is specified in @file{gcov-io.h},
-and functions provided in that header file should be used to access the
-coverage files.
+It is not recommended to access the coverage files directly.
+Consumers should use the intermediate format that is provided
+by @command{gcov} tool via @option{--intermediate-format} option.
 
 @node Cross-profiling
 @section Data File Relocation to Support Cross-Profiling
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index 18937e35474..d6389c48908 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -48,7 +48,11 @@  see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 	padding: | char:0 | char:0 char:0 | char:0 char:0 char:0
 	item: int32 | int64 | string
 
-   The basic format of the files is
+   The basic format of the notes file is
+
+	file : int32:magic int32:version int32:stamp int32:support_unexecuted_blocks record*
+
+   The basic format of the data file is
 
    	file : int32:magic int32:version int32:stamp record*
 
@@ -104,7 +108,7 @@  see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 	function-graph: announce_function basic_blocks {arcs | lines}*
 	announce_function: header int32:ident
 		int32:lineno_checksum int32:cfg_checksum
-		string:name string:source int32:lineno
+		string:name string:source int32:start_lineno int32:start_column int32:end_lineno
 	basic_block: header int32:flags*
 	arcs: header int32:block_no arc*
 	arc:  int32:dest_block int32:flags