diff options
Diffstat (limited to 'mdk-stage1/dietlibc/profiling/README')
-rw-r--r-- | mdk-stage1/dietlibc/profiling/README | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/mdk-stage1/dietlibc/profiling/README b/mdk-stage1/dietlibc/profiling/README deleted file mode 100644 index 0a0293073..000000000 --- a/mdk-stage1/dietlibc/profiling/README +++ /dev/null @@ -1,37 +0,0 @@ - - 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 |