OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [services/] [profile/] [gprof/] [v2_0/] [include/] [gmon_out.h] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
// Slightly adapted from OpenBSD "/src/gnu/usr.bin/binutils/gprof/gmon_out.h"
2
// for eCos environment
3
 
4
/*
5
 * This file specifies the format of gmon.out files.  It should have
6
 * as few external dependencies as possible as it is going to be
7
 * included in many different programs.  That is, minimize the
8
 * number of #include's.
9
 *
10
 * A gmon.out file consists of a header (defined by gmon_hdr) followed
11
 * by a sequence of records.  Each record starts with a one-byte tag
12
 * identifying the type of records, followed by records specific data.
13
 */
14
#ifndef gmon_out_h
15
#define gmon_out_h
16
 
17
#define GMON_MAGIC      "gmon"  /* magic cookie */
18
#define GMON_VERSION    1       /* version number */
19
 
20
/*
21
 * Raw header as it appears on file (without padding):
22
 */
23
struct gmon_hdr
24
  {
25
    char cookie[4];
26
    char version[4];
27
    char spare[3 * 4];
28
  };
29
 
30
/* types of records in this file: */
31
typedef enum
32
  {
33
    GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2
34
  }
35
GMON_Record_Tag;
36
 
37
struct gmon_hist_hdr
38
  {
39
    char low_pc[sizeof (char*)];        /* base pc address of sample buffer */
40
    char high_pc[sizeof (char*)];       /* max pc address of sampled buffer */
41
    char hist_size[4];                  /* size of sample buffer */
42
    char prof_rate[4];                  /* profiling clock rate */
43
    char dimen[15];                     /* phys. dim., usually "seconds" */
44
    char dimen_abbrev;                  /* usually 's' for "seconds" */
45
  };
46
 
47
struct gmon_cg_arc_record
48
  {
49
    char from_pc[sizeof (char*)];       /* address within caller's body */
50
    char self_pc[sizeof (char*)];       /* address within callee's body */
51
    char count[4];                      /* number of arc traversals */
52
  };
53
 
54
#endif /* gmon_out_h */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.