summaryrefslogtreecommitdiff
path: root/arch/sh/include/asm/dwarf.h
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-08-16 02:10:57 +0400
committerMatt Fleming <matt@console-pimps.org>2009-08-16 15:48:53 +0400
commitb955873bf530ee4b80e6c8b734521ad07cbaed7e (patch)
tree44367dd882fc8851f32285ddcdcb3f62892df99d /arch/sh/include/asm/dwarf.h
parent38f9ddf44150c1a213b41726384d055f7c35ec4f (diff)
downloadlinux-b955873bf530ee4b80e6c8b734521ad07cbaed7e.tar.xz
sh: Try again at getting the initial return address for an unwind
The previous hack for calculating the return address for the first frame we unwind (dwarf_unwinder_dump) didn't always work. The problem was that it assumed once it read the rule for calculating the return address, there would be no new rules for calculating it. This isn't true because the way in which the CFA is calculated can change as you progress through a function and the return address is figured out using the CFA. Therefore, the way to calculate the return address can change. So, instead of using some offset from the beginning of dwarf_unwind_stack which is just a flakey approach, and instead of executing instructions from the FDE until the return address is setup, we now figure out the pc in dwarf_unwind_stack() just before we call dwarf_cfa_execute_insns(). Signed-off-by: Matt Fleming <matt@console-pimps.org>
Diffstat (limited to 'arch/sh/include/asm/dwarf.h')
0 files changed, 0 insertions, 0 deletions