This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]