On Thursday 09 Mar 2006 9:06 pm, Tom Rini wrote:
> On Thu, Mar 09, 2006 at 08:27:27PM +0530, Girish Shilamkar wrote:
> > Hi,
> > I am facing a problem while printing backtrace for kgdb.
> > I am using:
> > GDB: gdb-6.4
> > Kernel: 2.6.15
> > Processor: PXA270
> >
> > Even though cfi macros have been added just before call to asm_do_IRQ in
> > arch/arm/kernel/entry-armv.S.
> > The backtrace doesn't traverse beyond __irq_svc
>
> Correct. The CFI macros for ARM (and all other arches other than i386)
> are of the simple stop-tracing-here type (to avoid GDB becoming confused
> and backtracing infinitely in many cases) and not the
> properly-unwind-for-me type. But if someone knows these details of ARM
> fairly well, it shouldn't be too hard to write the CFI macros to properly
> unwind the stack here, based on the i386 example (which is roughly, at
> the points where the stack cannot be unwound properly anymore, point
> to a CFI-only 'function' that unwinds the stack correctly).
We were trying to write CFI macros that would let us see backtraces past
asm_do_IRQ and __irq_svc. Looking into these further we found that something
more basic's gone wrong. Such as gdb not showing the effect of any cfi at
all!
-Amit
|