Hi all,
I am trying to use gcov datafiles (.bb and .bbg) files to represent the structure of a program, particularily to produce a graph with functions (nodes) and caller/callee relations (arcs).
I wrote a parser for .bb and .bbg and have difficulties in interpreting properly the content of these files :
- for the same source file, the number of basic blocks in .bb and in .bbg files differ (281 in .bb vs 593 in .bbg)
- I don't know the meaning of arc flags (spanning tree, fake edge, fall through)
- I don't know if I should count functions as basic blocks
Also, I came across some other questions. For instance, there is no unique basic block naming scheme, so how is gcov able to tell that basic block b from file x.c has an arc to basic block b' from file y.c ?
gcov covers the arc within a function, not between functions. The gcov data format was redesigned in the current development
nathan
-- Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC nathan@xxxxxxxxxxxxxxxx :: http://www.planetfall.pwp.blueyonder.co.uk