This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
GDB 6.2 for ARM: bug in backtrace when in Thumb mode
- From: Thierry <goldy_gnu at yahoo dot com>
- To: gdb at sources dot redhat dot com
- Date: Tue, 7 Sep 2004 05:02:04 -0700 (PDT)
- Subject: GDB 6.2 for ARM: bug in backtrace when in Thumb mode
Hi there,
I'm trying to debug an application compiled for the
ARM in Thumb mode. The 'backtrace' command seems buggy
as soon as there are more than 4 levels in the stack.
Besides, with the same code compiled in ARM mode, it
works perfectly.
Here's an example:
void dummy2(int a)
{
int b;
b = a;
}
void dummy1(void)
{
dummy2(4);
}
void dummy(void)
{
dummy1();
}
In my 'main', I call 'dummy()'.
When I go step-by-step until I step into 'dummy2', the
'bt' command gives the following result:
#0 dummy2 (a=4) at MainModule/src/dummy.c:4
#1 0xc000039c in dummy1 () at
MainModule/src/dummy.c:9
#2 0x00000000 in ?? ()
which is wrong!
The files have been compiled with arm-elf-gcc with the
following options:
-ggdb -gdwarf-2 -c -mapcs -fomit-frame-pointer -mthumb
-mthumb-interwork -mlong-calls
-fsigned-char -mstructure-size-boundary=8
-fshort-enums
When I remove the option '-fomit-frame-pointer', it
works.
Any idea?
Thanks in advance for your help,
Thierry
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail