Re: [patch] i386: fix one case of stuck dwarf2 unwinder II

From: Chuck Ebbert
Date: Sun Aug 06 2006 - 03:17:47 EST


In-Reply-To: <200608060805.06821.ak@xxxxxxx>

On Sun, 6 Aug 2006 08:05:06 +0200, Andi Kleen wrote:

> Hmm, actually I applied it but then I had doubts it actually
> works -- I think you don't need _stext but the code before
> the first call in head. Since head.S doesn't do a call
> that's probably start_kernel

But head.S does do a call (on i386 but not x86_64 AFAICT):

| #ifdef CONFIG_SMP
| movb ready, %cl
| movb $1, ready
| cmpb $0,%cl
| je 1f # the first CPU calls start_kernel
| # all other CPUs call initialize_secondary
| call initialize_secondary
| jmp L6
| 1:
| #endif /* CONFIG_SMP */
| call start_kernel
| L6:
| jmp L6 # main should never return here, but
| # just in case, we know what happens.

And the backtraces I saw ended up at L6:

| DWARF2 unwinder stuck at 0xc0100210

System.map on i386 SMP says:

| c0100210 t L6

--
Chuck

-
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/