X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gprof%2Fgmon_out.h;h=234e4538a6237a6d999909b9b7312bcd914537f2;hb=4e86f6e7478e40a288ec6567fa7f3b4ef0f8d516;hp=c9638692e90ffc678633d2c06eff04fe5b0809da;hpb=5489fcc3d9dbb1f529dddb19b615e23d8ed59dc7;p=deliverable%2Fbinutils-gdb.git diff --git a/gprof/gmon_out.h b/gprof/gmon_out.h index c9638692e9..234e4538a6 100644 --- a/gprof/gmon_out.h +++ b/gprof/gmon_out.h @@ -1,46 +1,46 @@ -/* - * This file specifies the format of gmon.out files. It should have - * as few external dependencies as possible as it is going to be - * included in many different programs. That is, minimize the - * number of #include's. - * - * A gmon.out file consists of a header (defined by gmon_hdr) followed - * by a sequence of records. Each record starts with a one-byte tag - * identifying the type of records, followed by records specific data. - */ +/* gmon_out.h + + Copyright (C) 2000-2020 Free Software Foundation, Inc. + + This file is part of GNU Binutils. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +/* A gmon.out file consists of a header (defined by gmon_hdr) followed + by a sequence of records. Each record starts with a one-byte tag + identifying the type of records, followed by records specific data. */ #ifndef gmon_out_h #define gmon_out_h #define GMON_MAGIC "gmon" /* magic cookie */ #define GMON_VERSION 1 /* version number */ -/* - * Raw header as it appears on file (without padding): - */ -struct gmon_hdr { - char cookie[4]; - char version[4]; - char spare[3*4]; -}; - -/* types of records in this file: */ -typedef enum { - GMON_TAG_TIME_HIST, GMON_TAG_CG_ARC, GMON_TAG_BB_COUNT -} GMON_Record_Tag; - -struct gmon_hist_hdr { - char low_pc[sizeof(bfd_vma)]; /* base pc address of sample buffer */ - char high_pc[sizeof(bfd_vma)]; /* max pc address of sampled buffer */ - char hist_size[4]; /* size of sample buffer */ - char prof_rate[4]; /* profiling clock rate */ - char dimen[15]; /* phys. dim., usually "seconds" */ - char dimen_abbrev; /* usually 's' for "seconds" */ -}; - -struct gmon_cg_arc_record { - char from_pc[sizeof(bfd_vma)]; /* address within caller's body */ - char self_pc[sizeof(bfd_vma)]; /* address within callee's body */ - char count[4]; /* number of arc traversals */ -}; +/* Raw header as it appears on file (without padding). */ +struct gmon_hdr + { + char cookie[4]; + char version[4]; + char spare[3 * 4]; + }; + +/* Types of records in this file. */ +typedef enum + { + GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2 + } +GMON_Record_Tag; #endif /* gmon_out_h */