Re: [OT] backtrace
Mike Galbraith (efault@gmx.de)
Thu, 03 Oct 2002 12:03:27 +0200
At 07:38 PM 10/3/2002 +1000, Keith Owens wrote:
>On Thu, 03 Oct 2002 09:31:06 +0100,
>Padraig Brady <padraig.brady@corvil.com> wrote:
> >Sorry to go off topic but this tip is just too useful IMHO.
> >You can do the same in userspace with glibc. Details here:
> >http://www.iol.ie/~padraiga/backtrace.c
>
>info libc, /backtrace.
>
> Note that certain compiler optimisations may interfere with
> obtaining a valid backtrace. Function inlining causes the inlined
> function to not have a stack frame; tail call optimisation
> replaces one stack frame with another; frame pointer elimination
> will stop `backtrace' from interpreting the stack contents
> correctly.
>
>Most architectures compile with -fomit-frame-pointer (except for ARM
>where RMK does it differently). Neither gdb not glibc can cope with
>kernel code built with -fomit-frame-pointer. See the horrible
>heuristics kdb has to apply to get any sort of backtrace on i386.
IIRC, r~ once mentioned that it was going to get worse. He also mentioned
dwarf2 (sp) as a possible solution. Did you ever look into that?
-Mike
(I didn't. Elf->Dwarf transmogrification of kernel is way out of my league)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/