diff options
author | Matt Fleming <matt@console-pimps.org> | 2009-08-13 20:41:31 +0100 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-14 05:00:21 +0900 |
commit | f826466772ae52f26152287fcb2259351de78f0f (patch) | |
tree | 4129a61131b41009f9a183fb419e08beb0398260 /arch/sh/include/asm/dwarf.h | |
parent | bf43a160ff2d67a21b076286bab6f5e2c993bd0a (diff) | |
download | op-kernel-dev-f826466772ae52f26152287fcb2259351de78f0f.zip op-kernel-dev-f826466772ae52f26152287fcb2259351de78f0f.tar.gz |
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>
Diffstat (limited to 'arch/sh/include/asm/dwarf.h')
-rw-r--r-- | arch/sh/include/asm/dwarf.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/sh/include/asm/dwarf.h b/arch/sh/include/asm/dwarf.h index 23eba12..60b1807 100644 --- a/arch/sh/include/asm/dwarf.h +++ b/arch/sh/include/asm/dwarf.h @@ -193,11 +193,6 @@ */ #define DWARF_ARCH_RA_REG 17 -/* - * At what offset into dwarf_unwind_stack() is DWARF_ARCH_RA_REG setup? - */ -#define DWARF_ARCH_UNWIND_OFFSET 0x20 - #ifndef __ASSEMBLY__ /* * Read either the frame pointer (r14) or the stack pointer (r15). |