summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/entry-common.S
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-08-02 22:40:11 +0100
committerPaul Mundt <lethal@linux-sh.org>2009-08-14 02:02:07 +0900
commitcafb0ddac60556f7d2d4cd0ef1a93da8a6c71ffb (patch)
treeb63a7d48bf913b03635e220f1f35fe31edbdf2c0 /arch/sh/kernel/entry-common.S
parent0b930489b8606224b829c8a6037eac24249a97ec (diff)
downloadop-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.S7
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
OpenPOWER on IntegriCloud