2 * This file specifies the format of gmon.out files. It should have
3 * as few external dependencies as possible as it is going to be
4 * included in many different programs. That is, minimize the
5 * number of #include's.
7 * A gmon.out file consists of a header (defined by gmon_hdr) followed
8 * by a sequence of records. Each record starts with a one-byte tag
9 * identifying the type of records, followed by records specific data.
14 #define GMON_MAGIC "gmon" /* magic cookie */
15 #define GMON_VERSION 1 /* version number */
18 * Raw header as it appears on file (without padding):
27 /* types of records in this file: */
30 GMON_TAG_TIME_HIST
= 0, GMON_TAG_CG_ARC
= 1, GMON_TAG_BB_COUNT
= 2
36 char low_pc
[sizeof (char*)]; /* base pc address of sample buffer */
37 char high_pc
[sizeof (char*)]; /* max pc address of sampled buffer */
38 char hist_size
[4]; /* size of sample buffer */
39 char prof_rate
[4]; /* profiling clock rate */
40 char dimen
[15]; /* phys. dim., usually "seconds" */
41 char dimen_abbrev
; /* usually 's' for "seconds" */
44 struct gmon_cg_arc_record
46 char from_pc
[sizeof (char*)]; /* address within caller's body */
47 char self_pc
[sizeof (char*)]; /* address within callee's body */
48 char count
[4]; /* number of arc traversals */
51 #endif /* gmon_out_h */