Re: Fwd: Backtrace stopped: frame did not save the PC

Michael Eager <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 08/19/13 23:24, sravan megan wrote:

>> You don't indicate what options were used when you compile.
>> When you compile without optimization, MicroBlaze stores
>> the previous frame pointer in the stack frame.  With -O1,
>> MicroBlaze does not save the frame pointer in the stack frame.
>
>      I have used the XSDK to build my application. Below are the compiler flags

You should contact Xilinx technical support for help with
gdb distributed in the Xilinx SDK.  There are differences between
FSF gcc/gdb sources and the sources used to build the SDK.

If you are using a tool chain built with the FSF sources,
I'm better able to help you.

> Building file: ../src/helloworld.c
> Invoking: MicroBlaze gcc compiler
> mb-gcc -Wall -O0 -c -fmessage-length=0
> -I../../hello_bsp/microblaze_1/include -mlittle-endian
> -mxl-pattern-compare -mno-xl-soft-div -mcpu=v8.00.b -mno-xl-soft-mul
> -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP
> -MF"src/helloworld.d" -MT"src/helloworld.d" -o "src/helloworld.o"
> "../src/helloworld.c"
> Finished building: ../src/helloworld.c

You can check the generated code (either assembly or by using objdump)
to confirm that a frame pointer is being saved.

> I looked at them they seem to be good but I have doubt on
> "microblaze_frame_prev_register" function.
> This function seems to always return r15/r1 registers as regnum for
> "trad_frame_get_prev_register" function for any frame in my case. Is
> this behaviour correct??

It depends on whether microblaze_analyze_prologue() determines
if there is a frame or not.  If it believes that there is no
frame, then it always returns R15/R1 for PC/SP.


-- 
Michael Eager	 [email protected]
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.