Re: What do frame pointers do?

From: Randy.Dunlap
Date: Sun Nov 02 2003 - 23:49:46 EST


On Sun, 2 Nov 2003 09:00:29 -0800 (PST) Bradley Chapman <kakadu_croc@xxxxxxxxx> wrote:

| What exactly is the purpose of a frame pointer? As far back as I can remember, 2.4
| and 2.6 kernels have supported something called a frame pointer, which slows down
| the kernel slightly but supposedly outputs 'very useful debugging information.'
| Unfortunately, it doesn't really explain what they are, and for the past few months,
| I haven't seen any hacker gods asking for CONFIG_FRAME_POINTER=y, except for Russell
| King, who wants them compiled for ARM processors for some reason (I grepped the
| kernel source looking for answers and found a comment which implied this).
|
| Does anyone know where I can find a good explanation of what they are and what they
| do?

Frame pointers enable more deterministic back tracing of the stack,
which can be helpful for tracking down bugs. I build with
CONFIG_FRAME_POINTER enabled all of the time.

Note, however, that current 2.6.x Makefile does not allow frame pointers
to be used with gcc 2.96 since it has some known problems with code generation
when using frame pointers.

There is a little discussion of frame pointers in the Intel
IA-32 Intel® Architecture Software Developer;s Manual Volume 1:
Basic Architecture
and
IA-32 Intel® Architecture Software Developer's Manual Volume 2:
Instruction Set Reference,
which are downloadable as .pdf files from developer.intel.com.

--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/