This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Does GDB 6.7.1 for PowerPC require the framepointer register for backtracing?
- From: Stefan Bylund <steby at enea dot se>
- To: gdb at sourceware dot org
- Date: Mon, 11 Feb 2008 12:03:25 +0100
- Subject: Does GDB 6.7.1 for PowerPC require the framepointer register for backtracing?
Hi,
We recently upgraded from GDB 6.3 to GDB 6.7.1 and noticed that for
PowerPC we can longer get a backtrace in certain cases. The problem is
that when we initially attach to an existing process on a remote target,
only the PC and SP registers are available. This worked fine with GDB
6.3 when doing a backtrace. However, GDB 6.7.1 fails when doing a
backtrace in this case, and it seems that it tries to use the
framepointer register (R31) for doing the backtrace and since this
register is not available (i.e. it has value 0 in GDB's perspective),
the backtrace fails.
Does GDB 6.7.1 requires the framepoint register (R31) for doing a backtrace?
I have also noticed that if I don't install the dwarf2_frame_sniffer()
and rs6000_adjust_frame_regnum() functions in rs6000_gdbarch_init() in
rs6000-tdep.c, the backtrace works again even if the framepointer
register is not available. However, I'm not sure exactly why... Is it
safe to omit these two functions?
Regards,
Stefan
--
---------------------------------
Stefan Bylund
Senior Software Engineer
Enea
Skalholtsgatan 9,
Box 1033, SE-164 21 Kista, Sweden
Direct: +46 8 50 71 43 25
Mobile: +46 709 71 43 25
stefan.bylund@enea.com
www.enea.com
---------------------------------
Enea - Embedded for Leaders
---------------------------------