Debugging frameless code

Kevin Buettner
Fri Sep 29 02:44:00 GMT 2000

On Sep 29, 10:26am, wrote:

> Kevin Buettner <> wrote:
> >  >  To  be  more  precise,  is  it  possible  to dump stack backtrace for
> frameless
> > > code using a recent version of gdb and elf/dwarf2 (and gcc as the
> > > compiler)?
> >
> > In some cases, yes.  For example, I've been able to do this for
> > Linux/IA-64.  (But it's also the case that as the optimization gets
> > more aggressive, this could fail.)
> >
> > Which target in particular were you wondering about?
> Thanks for your answer.
> I'm interested in ARM/THUMB debugging.  Currently I use GDB 4.17 (from
> Cygnus GNUPro 98r2) with PE-COFF/STABS.  With that configuration backtrace
> does not work if the involved functions are frameless.  I was wondering
> whether the situation would be improved by using a more recent version of
> GDB and/or ELF/DWARF.
> I looked at the ARM backtrace code in the GDB CVS repository a couple of
> months ago and it seemed quite similar to GDB 4.17 but I may be wrong.

I haven't tried frameless functions for ARM (and certainly not for
THUMB).  However, I did commit the following change recently which
does help gdb better deal with optimized code (the arm_scan_prologue

2000-09-05  Kevin Buettner  <>

	* config/arm/tm-linux.h (arm_linux_sigcontext_register_address,
	arm_linux_in_sigtramp): Declare.
	* arm-tdep.c (SIGCONTEXT_REGISTER_ADDRESS): Define to be 0
	if not already defined by tm.h.
	(arm_scan_prologue): Don't assume that the prologue instructions
	will be in a contiguous clump.
	(arm_init_extra_frame_info): Add support for sigtramp frames.
	(arm_pc_is_thumb, arm_pc_is_thumb_dummy): Change type of
	`memaddr' from bfd_vma to CORE_ADDR.
	* arm-linux-tdep.c (gdbcore.h, frame.h): Include.
	(arm_pc_is_thumb): Declare.
	(arm_linux_skip_solib_resolver): Fix printf() statement.  [Which
	shouldn't be there anyway.]
	(arm_linux_in_sigtramp, arm_linux_sigcontext_register_address):
	New functions.

You may want to try the current development sources and see how they
work for you.


More information about the Gdb mailing list