1
linux/arch/sh/kernel
Matt Fleming b955873bf5 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>
2009-08-16 12:48:53 +01:00
..
cpu Merge branch 'sh/stable-updates' 2009-08-15 12:59:42 +09:00
vsyscall
.gitignore
asm-offsets.c sh: Provide diagnostic kernel stack checks 2009-07-11 10:07:58 +09:00
cpufreq.c
crash_dump.c
debugtraps.S
disassemble.c
dumpstack.c sh: flag the default unwinder as reliable. 2009-08-15 01:09:03 +09:00
dwarf.c sh: Try again at getting the initial return address for an unwind 2009-08-16 12:48:53 +01:00
early_printk.c sh: Fix up early printk build error. 2009-08-04 15:54:33 +09:00
entry-common.S sh: Add CFI annotations for exception return. 2009-08-14 02:02:07 +09:00
ftrace.c sh: Function graph tracer support 2009-07-11 10:08:01 +09:00
gpio.c
head_32.S
head_64.S
idle.c sh: Provide cpu_idle_wait() to fix up cpuidle/SMP build. 2009-06-23 17:30:17 +09:00
init_task.c mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
io_generic.c
io_trapped.c sh: Rework irqflags tracing to fix up CONFIG_PROVE_LOCKING. 2009-07-29 23:01:24 +09:00
io.c
irq.c sh: dwarf unwinder support. 2009-08-14 01:58:43 +09:00
kgdb.c
kprobes.c
localtimer.c
machine_kexec.c
machvec.c
Makefile sh: Merge the _32/_64 variants of arch/sh/kernel/Makefile. 2009-08-16 03:35:26 +09:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
process_32.c sh: Mark __switch_to() as __notrace_funcgraph 2009-07-11 10:08:06 +09:00
process_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-06-18 14:07:35 -07:00
ptrace_32.c sh: Add ftrace syscall tracing support 2009-07-06 20:16:33 +09:00
ptrace_64.c
relocate_kernel.S
setup.c sh: Use bootmem ontop of lmb 2009-07-03 16:16:54 +09:00
sh_bios.c
sh_ksyms_32.c sh: Use DECLARE_EXPORT() for mcount symbol export. 2009-07-11 20:32:14 +09:00
sh_ksyms_64.c sh: Convert sh64 to use the generic checksum code. 2009-06-15 00:00:42 +09:00
signal_32.c sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn 2009-06-18 18:25:21 +09:00
signal_64.c
smp.c cpumask: Use accessors for cpu_*_mask: sh 2009-06-14 18:24:16 +09:00
stacktrace.c sh: stacktrace: Properly terminate the trace entry buffer. 2009-08-15 01:11:37 +09:00
swsusp.c
sys_sh32.c
sys_sh64.c
sys_sh.c sh: remove stray markers. 2009-06-18 13:38:26 +09:00
syscalls_32.S
syscalls_64.S
time.c Revert "sh: Bump the earlytimer bits back to time_init()." 2009-07-29 22:43:58 +09:00
topology.c
traps_32.c sh: Use the generalized stacktrace ops 2009-08-13 11:50:08 +09:00
traps_64.c
traps.c sh: unbreak WARN_ON() 2009-06-17 15:39:52 +09:00
unwinder.c sh: Allow multiple stack unwinders to be setup 2009-08-13 19:49:03 +09:00
vmlinux.lds.S sh: dwarf unwinder support. 2009-08-14 01:58:43 +09:00