[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190112084541.GK14180@gate.crashing.org>
Date: Sat, 12 Jan 2019 02:45:41 -0600
From: Segher Boessenkool <segher@...nel.crashing.org>
To: Balbir Singh <bsingharora@...il.com>
Cc: Joe Lawrence <joe.lawrence@...hat.com>,
Jiri Kosina <jkosina@...e.cz>, linux-kernel@...r.kernel.org,
Torsten Duwe <duwe@....de>, live-patching@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org
Subject: Re: ppc64le reliable stack unwinder and scheduled tasks
On Sat, Jan 12, 2019 at 12:09:14PM +1100, Balbir Singh wrote:
> Could you please define interesting frame on top a bit more? Usually
> the topmost return address is in LR
There is no reliable way (other than DWARF unwind info) to find out where
the value of LR at function entry currently lives (if anywhere). It may or
may not be still available in LR, it may or may not be saved to the return
stack slot. It can also live in some GPR, or in some other stack slot.
(The same is true for all other registers).
The only thing the ABI guarantees you is that you can find all stack frames
via the back chain. If you want more you can use some heuristics and do
some heroics (like GDB does), but this is not fully reliable. Using DWARF
unwind info is, but that requires big tables.
Segher
Powered by blists - more mailing lists