diff options
author | Gwenolé Beauchesne <gbeauchesne@mandriva.org> | 2003-06-04 18:44:09 +0000 |
---|---|---|
committer | Gwenolé Beauchesne <gbeauchesne@mandriva.org> | 2003-06-04 18:44:09 +0000 |
commit | 4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b (patch) | |
tree | acd4001a266a8713495af7f1b2102b61e67113b0 /mdk-stage1/dietlibc/include/sys/gmon.h | |
parent | 71b111ec6c4671667a19c6fbe0023d33422535d7 (diff) | |
download | drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.gz drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.bz2 drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.xz drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.zip |
Import dietlibc 0.22 + other fixes for AMD64
Diffstat (limited to 'mdk-stage1/dietlibc/include/sys/gmon.h')
-rw-r--r-- | mdk-stage1/dietlibc/include/sys/gmon.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/include/sys/gmon.h b/mdk-stage1/dietlibc/include/sys/gmon.h new file mode 100644 index 000000000..50aae3028 --- /dev/null +++ b/mdk-stage1/dietlibc/include/sys/gmon.h @@ -0,0 +1,99 @@ +#ifndef __DLC_GMON_H_ +#define __DLC_GMON_H_ + +# define HISTCOUNTER unsigned short +# define HISTFRACTION 2 +# define HASHFRACTION 2 +# define ARCDENSITY 2 +# define MINARCS 50 +# define MAXARCS (( 1 << (8 * sizeof(HISTCOUNTER))) - 2) + +# define ROUNDDOWN(x,y) (((x)/(y))*y) +# define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*y) + +# define PROF_SECTION __attribute__ ((section (".profile"))) + +struct tostruct { + unsigned long selfpc; + signed long count; + unsigned short link; + unsigned short pad; +}; + +struct rawarc { + unsigned long raw_frompc; + unsigned long raw_selfpc; + signed long raw_count; +}; + +struct monparam { + unsigned short *kcount; + unsigned long kcountsize; + struct rawarc *arcs; + unsigned long arcnum; + unsigned long lowpc; + unsigned long highpc; + unsigned long textsize; +}; + +struct gmonparam { + long state; + unsigned short *kcount; + unsigned long kcountsize; + unsigned short *froms; + unsigned long fromsize; + struct tostruct *tos; + unsigned long tossize; + long tolimit; + unsigned long lowpc; + unsigned long highpc; + unsigned long textsize; + unsigned long hashfraction; + unsigned long log_hashfraction; +}; + +struct gmon_hdr { + char cookie[4]; + long version; + char spare[12]; +}; + +struct gmon_hist_hdr { + long low_pc; + long high_pc; + long hist_size; + long prof_rate; + char dimen[15]; + char dimen_abbrev; +}; + +struct gmon_cg_arc_record { + long from_pc; + long self_pc; + long count; +}; + +struct __bb { + long zero_word; + char *filename; + long *counts; + long ncounts; + struct __bb *next; + unsigned long *addresses; +}; + +typedef enum { + GMON_TAG_TIME_HIST, GMON_TAG_CG_ARC, GMON_TAG_BB_COUNT +} GMON_Record_Tag; + +enum { GMON_PROF_ON, GMON_PROF_BUSY, GMON_PROF_ERROR, GMON_PROF_OFF }; +enum { GPROF_STATE, GPROF_COUNT, GPROF_FROMS, GPROF_TOS, GPROF_GMONPARAM }; + +extern struct gmonparam gmparam; +extern struct __bb * __bb_head; + +extern void __monstartup(unsigned long, unsigned long); +extern void monstartup(unsigned long, unsigned long); +extern void _mcleanup(void); + +#endif |