On Thu, 2009-10-22 at 13:30 -0700, Adam Nemet wrote: > Maybe scanning the instructions should stop at the beginning of the function > based on the kernel's symbol table. I am not sure if we can establish any > other stopping condition without affecting performance too much. How would we check the kernel symbol table? Remember, this happens at _every_ function call. > > Speaking of performance, -pg also affects the instruction scheduling freedom > of the compiler in the prologue. With profiling, we limit optimizations not > to move instructions in and out of the prologue. > > Also note that for functions invoked via tail call you won't get an exit > event. E.g. if bar is tail-called from foo: > > foo entered > bar entered > foo/bar exited > > However, this is not MIPS-specific and you can always disable tail calls > with -fno-optimize-sibling-calls. The question is, would bar have a _mcount call? So far, we have not had any issues with this on either x86 nor PPC. /me knocks on wood. -- Steve