How to traceback call stack on MIPS arch?

David Daney ddaney@avtrex.com
Wed Jan 9 13:52:00 GMT 2008


Andrew Haley wrote:
> PRC writes:
>
>  > Gcc saves the frame pointer to fp(s8) register at the beginning of
>  > each function if compiling source with -O0.  But it won't do so if
>  > compiling source with -O2. Without frame pointers, can I trace back
>  > call stacks in current function context? Or is there any option
>  > which forces gcc to save frame pointers for MIPS arch?
>
> You need to use the unwinder.
>
>   
For that to work, you must compile all the code with -fexceptions.

You could also try compiling all the code with -fno-omit-framepointer
and writing your own unwinder.  I posted such an unwinder to
java-patches@gcc.gnu.org several years ago.  Later versions of GCC are
starting to do optimizations in the function prolog that make unwinding
without the unwinder meta-data very difficult.

David Daney



More information about the Gcc-help mailing list