Re: How to traceback call stack on MIPS arch?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Daney writes:
 > 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.

Or just -funwind-tables.  Yes, I should have mentioned that.  It's
kinda lame that we break the old way of doing backtraces but don't
compile the minimum unwinder data by default.  Sigh.

 > 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@xxxxxxxxxxx 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.

Right, which as far as I can see is the OP's problem.

Andrew.

-- 
Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, UK
Registered in England and Wales No. 3798903

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux