sh: Delete DWARF_ARCH_UNWIND_OFFSET
authorMatt Fleming <matt@console-pimps.org>
Thu, 13 Aug 2009 19:41:31 +0000 (20:41 +0100)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 13 Aug 2009 20:00:21 +0000 (05:00 +0900)
commitf826466772ae52f26152287fcb2259351de78f0f
tree4129a61131b41009f9a183fb419e08beb0398260
parentbf43a160ff2d67a21b076286bab6f5e2c993bd0a
sh: Delete DWARF_ARCH_UNWIND_OFFSET

Trying to figure out the best value for DWARF_ARCH_UNWIND_OFFSET is
tricky at best. Various things can change the size (and offset from the
beginning of the function) of the prologue. Notably, turning on ftrace
adds calls to mcount at the beginning of functions, thereby pushing the
prologue further into the function.

So replace DWARF_ARCH_UNWIND_OFFSET with some code that continues to
execute CFA instructions until the value of return address register is
defined. This is safe to do because we know that the return address must
have been pushed onto the frame before our first function call; we just
can't figure out where at compile-time.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/include/asm/dwarf.h
arch/sh/kernel/dwarf.c