linux-mips
[Top] [All Lists]

Re: [PATCH] dump_stack() based on prologue code analysis

To: vagabon.xyz@gmail.com
Subject: Re: [PATCH] dump_stack() based on prologue code analysis
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Mon, 31 Jul 2006 22:39:23 +0900 (JST)
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org
In-reply-to: <44CDCA46.3030707@innova-card.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <cda58cb80607271203u70b26e23o65b71d3d0c900f94@mail.gmail.com> <20060729.010137.36922349.anemo@mba.ocn.ne.jp> <44CDCA46.3030707@innova-card.com>
Sender: linux-mips-bounce@linux-mips.org
On Mon, 31 Jul 2006 11:15:50 +0200, Franck Bui-Huu <vagabon.xyz@gmail.com> 
wrote:
> > Yes, that is what I wanted.  Imagine if a exception happened on first
> > place on non-leaf function.  In this case, we must assume the function
> > is leaf since RA is not saved to the stack.
> 
> The only case I can imagine is when sp is corrupted which is unlikely.

Modern gcc somtimes do amazing optimization ;-)

> However an exception can occure just after a prologue of a nested
> function which is more likely. In that case you will assume wrongly
> that the function was a leaf one.

Why?  get_frame_info() should detect frame_size and pc_offset for that
case.

Is your objection against "info->func_size / 4" part?  the "4" comes
from size of a instruction.

Well, using "4" instead of "sizeof(union mips_instruction)" or
"sizeof(*ip)" was my old fault...

---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>