diff options
author | Gwenolé Beauchesne <gbeauchesne@mandriva.org> | 2003-02-18 16:48:15 +0000 |
---|---|---|
committer | Gwenolé Beauchesne <gbeauchesne@mandriva.org> | 2003-02-18 16:48:15 +0000 |
commit | cfc97c2e6d73efdf65b5ff0fc6ee66f1dc19f36c (patch) | |
tree | a377e1084729f1f289e32f7f180edb924d96718a /mdk-stage1/dietlibc/profiling/README | |
parent | 8182e7cfe7d9c60567e48b876282594395062530 (diff) | |
download | drakx-cfc97c2e6d73efdf65b5ff0fc6ee66f1dc19f36c.tar drakx-cfc97c2e6d73efdf65b5ff0fc6ee66f1dc19f36c.tar.gz drakx-cfc97c2e6d73efdf65b5ff0fc6ee66f1dc19f36c.tar.bz2 drakx-cfc97c2e6d73efdf65b5ff0fc6ee66f1dc19f36c.tar.xz drakx-cfc97c2e6d73efdf65b5ff0fc6ee66f1dc19f36c.zip |
Merge in CVS dietlibc 0.21 for IA-64 and X86-64 support. However, drop the
following architectures we currently don't support: arm, mips, mipsel, parisc,
s390, sparc64.
Diffstat (limited to 'mdk-stage1/dietlibc/profiling/README')
-rw-r--r-- | mdk-stage1/dietlibc/profiling/README | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/profiling/README b/mdk-stage1/dietlibc/profiling/README new file mode 100644 index 000000000..0a0293073 --- /dev/null +++ b/mdk-stage1/dietlibc/profiling/README @@ -0,0 +1,37 @@ + + Notes on profiling support for dietlibc + + 1.) A big problem when doing profiling on statically linked + programs, is that the internal profiling functions (mcount + and friends) will be included in the call graph although + they would not if the program would have been dynamically + linked. This is because every symbol between .text and + _etext is included in the call-graph. If a program is + dynamically linked, then mcount and friends are not between + .text and _etext, so they are not included. A workaround + for this, would be to put mcount, __mcount, monitor and + profiler into another section (eg. ".profile"), but this + creates some strange problems, I'm currently not aware of. + If you want to debug this: Putting a function into a specific + section works like this (with gcc): + + void foo (int bar) __attribute__ ((section(".foobar"))) + + 2.) _start may randomly be found in the callgraph. I don't + know why. May be a bug in gprof. + + 3.) The profiling is a complete rewrite, though I looked at + the glibc Version for inspiration. Please note that this + version might not be as portable as the glibc version but + its much smaller (although this is not a really important + argument, as profiled binaries seldom get shipped) and + hopefully easier to understand. + + 4.) all objects that should be profiled mustn't be compiled + with -fomit-frame-pointer (as with glibc). Add + -fno-fomit-frame-pointer to $CFLAGS if you're encountering + weird problems. + + 5.) There is currently no basic-block statistic support. + +Please send comments and bug reports to: tom@rhadamanthys.org |