From: sravan megan <sravan22021987@gmail.com>
To: Michael Eager <eager@eagerm.com>
Cc: gdb@sourceware.org
Subject: Re: Fwd: Backtrace stopped: frame did not save the PC
Date: Tue, 20 Aug 2013 06:24:00 -0000 [thread overview]
Message-ID: <CAESop7U3jKLDqZVE=2YoUjL2r+di-RA-0pgHVUmN1AM4Ld+uEw@mail.gmail.com> (raw)
In-Reply-To: <5212AB55.9050203@eagerm.com>
Hello Mike,
Thanks for the reply.
On Tue, Aug 20, 2013 at 5:03 AM, Michael Eager <eager@eagerm.com> wrote:
> On 08/19/13 00:15, sravan megan wrote:
>>
>> Hi All,
>>
>> I am working on Microblaze GDB (7.4.50) version.
>>
>> GDB is throwing "frame did not save the PC" error if the program is not
>> compiled with "-g"
>> (debugging info)
>
>
>
>> I know that without debugging information GDB will not give complete trace
>> information but with
>> out debugging info GDB should atleast give the function names.
>
>
> As far as I can see from your example, gdb did print the function
> names.
>
> 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
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
Building file: ../src/platform.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/platform.d" -MT"src/platform.d" -o "src/platform.o"
"../src/platform.c"
Finished building: ../src/platform.c
Building target: hello.elf
Invoking: MicroBlaze gcc linker
mb-gcc -Wl,-T -Wl,../src/lscript.ld -L../../hello_bsp/microblaze_1/lib
-mlittle-endian -mxl-pattern-compare -mno-xl-soft-div -mcpu=v8.00.b
-mno-xl-soft-mul -Wl,--no-relax -Wl,--gc-sections -o "hello.elf"
./src/helloworld.o ./src/platform.o
-Wl,--start-group,-lxil,-lgcc,-lc,--end-group
Finished building target: hello.elf
I have set the debugging level to none in xsdk i.e no "-g" option in
compilation.
>
>
>> Can anyone please let me know where to look in to GDB code so that GDBcan
>> store information of
>> main frame details and execute backtrace correctly.
>
>
> You can take a look at microblaze_analyze_prologue() in
> gdb/microblaze-tdep.c.
>
> The error is issued in get_prev_frame_1() in frame.c.
>
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??
> --
> Michael Eager eager@eagercon.com
> 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
Regards,
Sravan
next prev parent reply other threads:[~2013-08-20 6:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAESop7Uxpo46gbxiPU9-RnvcEbnzNEOsupuWQCotE0Ev9ha_RQ@mail.gmail.com>
2013-08-19 7:15 ` sravan megan
2013-08-19 23:33 ` Michael Eager
2013-08-20 6:24 ` sravan megan [this message]
2013-08-20 16:54 ` Michael Eager
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAESop7U3jKLDqZVE=2YoUjL2r+di-RA-0pgHVUmN1AM4Ld+uEw@mail.gmail.com' \
--to=sravan22021987@gmail.com \
--cc=eager@eagerm.com \
--cc=gdb@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox