At least 1.5.4 doesn't seem to handle exceptions well. Functions that exit with exceptions result in having some unrealistic timings.
There were 2 errors I encountered during installation.
1) fncmalloc.c:34: error: `RTLD_NEXT' undeclared
2) /home/edg/FunctionCheck/fnccheck/test/sub.c:14: undefined reference to `sin'
To fix them, after ./configure is finished I edited config.status changing CFLAGS line to "s%@CFLAGS@%-g -D_GNU_SOURCE -lm -O2%g". -D_GNU_SOURCE is fix for the first error and -lm for the second. Hope this helps any other noob than me.
there are 3 forks of this project
There are 3 forks of this project
Version 1.4/2.0 is the original and is no
longer being actively developed.
Version 3.0 is a fork that is also dead.
Version 1.5.4 is the only active one and also
the only one that supports amd64 processors.
Not for SMP
By the way, the multithreading support barely works on a single-processor system; it is hopeless on SMP. Unfortunately it has no way of knowing when a thread context switch occurs, so the allocation of time to functions is unreliable. It still works fine for single-threaded programs or single-processor machines, but I don't see any easy solutions for making the profiler accurate on a multi-processor machine. At least it's still usable as a malloc tracer, and it doesn't eat up as much address space as valgrind.
An open, cross-platform journaling program.
A scientific plotting package.