diff options
author | Matt Fleming <matt@console-pimps.org> | 2009-08-02 22:40:11 +0100 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-14 02:02:07 +0900 |
commit | cafb0ddac60556f7d2d4cd0ef1a93da8a6c71ffb (patch) | |
tree | b63a7d48bf913b03635e220f1f35fe31edbdf2c0 /arch/sh/kernel/entry-common.S | |
parent | 0b930489b8606224b829c8a6037eac24249a97ec (diff) | |
download | op-kernel-dev-cafb0ddac60556f7d2d4cd0ef1a93da8a6c71ffb.zip op-kernel-dev-cafb0ddac60556f7d2d4cd0ef1a93da8a6c71ffb.tar.gz |
sh: Add CFI annotations for exception return.
Annotate various assembly code paths with CFI assembler directives so
that DWARF unwind info is available for the unwinder.
Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/entry-common.S')
-rw-r--r-- | arch/sh/kernel/entry-common.S | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index b3b215f..e63178f 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S @@ -43,6 +43,7 @@ * syscall # * */ +#include <asm/dwarf.h> #if defined(CONFIG_PREEMPT) # define preempt_stop() cli ; TRACE_IRQS_OFF @@ -66,6 +67,11 @@ ENTRY(exception_error) .align 2 ret_from_exception: + CFI_STARTPROC simple + CFI_DEF_CFA r14, 0 + CFI_REL_OFFSET 17, 64 + CFI_REL_OFFSET 15, 0 + CFI_REL_OFFSET 14, 56 preempt_stop() ENTRY(ret_from_irq) ! @@ -240,6 +246,7 @@ debug_trap: nop bra __restore_all nop + CFI_ENDPROC .align 2 1: .long debug_trap_table |