Re: [discuss] Re: [PATCH 2/3] reliable stack trace support (x86-64)

From: Andi Kleen
Date: Tue May 16 2006 - 13:04:42 EST


On Tuesday 16 May 2006 18:06, Jan Beulich wrote:
> >>> Andi Kleen <ak@xxxxxxx> 16.05.06 17:13 >>>
> On Tuesday 16 May 2006 16:21, Jan Beulich wrote:
> >> These are the x86_64-specific pieces to enable reliable stack traces. The
> >> only restriction with this is that it currently cannot unwind across the
> >> interrupt->normal stack boundary, as that transition is lacking proper
> >> annotation.
> >
> >It would be nice if you could submit a patch to fix that.
>
> But I don't know how to fix it. See my other mail
which mail?


> - I have no experience with expressions, nor have I ever seen them in
> use.

I remember Jim Houston used a hack of just loading the old stack into a register
and defining that as a base register in CFI. I guess i would be willing
to trade a few moves for that (should be pretty much free on a OOO CPU anyways)
You think that trick would work?

> >> +#define UNW_PC(frame) (frame)->regs.rip
> >> +#define UNW_SP(frame) (frame)->regs.rsp
> >
> >I think we alreay have instruction_pointer(). Better add a stack_pointer()
> >in ptrace.h too.
>
> I could do that, but the macros will have to remain, as they don't access pt_regs directly, so I guess it'd be
> pointless to change it.

UNW_PC() is instruction_pointer(&frame->regs), isn't it?

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