Steven Rostedt wrote:
On Thu, 2009-10-22 at 08:59 -0700, David Daney wrote:
This is what I was talking about up-thread. Leaf functions may have no
function prolog. If you do code scanning you will fail. While scanning
backwards, there is no way to know when you have entered a new function.
Looking for function return sequences 'jr ra' doesn't work as there
may be functions with multiple return sites, functions that never
return, or arbitrary data before the function. I think you have to
force a frame pointer to be established if you want this to work.
Functions that run off into another function?? I guess the compiler
could do that, but with -pg enable, I would think is broken.
Use of GCC-4.5's __builtin_unreachable() can lead to this, as well as
functions that call noreturn functions.
Note to self: Time to resend the __builtin_unreachable() patch set again...
David Daney