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/profiling/__mcount.c | |
parent | 71b111ec6c4671667a19c6fbe0023d33422535d7 (diff) | |
download | drakx-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar drakx-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.gz drakx-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.bz2 drakx-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.xz drakx-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.zip |
Import dietlibc 0.22 + other fixes for AMD64
Diffstat (limited to 'mdk-stage1/dietlibc/profiling/__mcount.c')
-rw-r--r-- | mdk-stage1/dietlibc/profiling/__mcount.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/profiling/__mcount.c b/mdk-stage1/dietlibc/profiling/__mcount.c new file mode 100644 index 000000000..b1955f370 --- /dev/null +++ b/mdk-stage1/dietlibc/profiling/__mcount.c @@ -0,0 +1,24 @@ +#include <unistd.h> +#include <sys/gmon.h> + +extern struct monparam mparam; + +void __mcount (unsigned long, unsigned long) PROF_SECTION; + +void +__mcount (unsigned long frompc, unsigned long selfpc) +{ + struct rawarc *arc = mparam.arcs, thisarc; + unsigned long num; + /* If arc already exists, increment count */ + for (num = 0; num < mparam.arcnum; num++) + if (arc[num].raw_frompc == frompc && arc[num].raw_selfpc == selfpc) { + arc[num].raw_count++; + return; + } + if (selfpc < mparam.lowpc || selfpc > mparam.highpc) return; + thisarc.raw_frompc = frompc; + thisarc.raw_selfpc = selfpc; + thisarc.raw_count = 1; + arc[mparam.arcnum++] = thisarc; +} |