This is the mail archive of the
mailing list for the GCC project.
Re: How to traceback call stack on MIPS arch?
- From: David Daney <ddaney at avtrex dot com>
- To: Andrew Haley <aph at redhat dot com>
- Cc: PRC <panruochen at gmail dot com>, gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Tue, 08 Jan 2008 11:17:22 -0800
- Subject: Re: How to traceback call stack on MIPS arch?
- References: <firstname.lastname@example.org> <email@example.com>
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
firstname.lastname@example.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.