16 Dec, 2006

1 commit

  • It has caused more problems than it ever really solved, and is
    apparently not getting cleaned up and fixed. We can put it back when
    it's stable and isn't likely to make warning or bug events worse.

    In the meantime, enable frame pointers for more readable stack traces.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

07 Dec, 2006

1 commit


26 Sep, 2006

2 commits

  • Fix

    linux/arch/x86_64/kernel/traps.c: In function 'dump_trace':
    linux/arch/x86_64/kernel/traps.c:275: warning: cast to pointer from integer of different size

    with allnoconfig

    Cc: jbeulich@novell.com
    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • Current gcc generates calls not jumps to noreturn functions. When that happens the
    return address can point to the next function, which confuses the unwinder.

    This patch works around it by marking asynchronous exception
    frames in contrast normal call frames in the unwind information. Then teach
    the unwinder to decode this.

    For normal call frames the unwinder now subtracts one from the address which avoids
    this problem. The standard libgcc unwinder uses the same trick.

    It doesn't include adjustment of the printed address (i.e. for the original
    example, it'd still be kernel_math_error+0 that gets displayed, but the
    unwinder wouldn't get confused anymore.

    This only works with binutils 2.6.17+ and some versions of H.J.Lu's 2.6.16
    unfortunately because earlier binutils don't support .cfi_signal_frame

    [AK: added automatic detection of the new binutils and wrote description]

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen

    Jan Beulich
     

31 Aug, 2006

1 commit

  • The unwinder fallback logic still had potential for falling through to
    the legacy stack trace code without printing an indication (at once
    serving as a separator) of this.

    Further, the stack pointer retrieval for the fallback should be as
    restrictive as possible (in order to avoid having the legacy stack
    tracer try to access invalid memory). The patch tightens that, but
    this could certainly be further improved.

    Also making the call_trace command line option now conditional upon
    CONFIG_STACK_UNWIND (as it's meaningless otherwise).

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

27 Jun, 2006

2 commits