summaryrefslogtreecommitdiffstats
path: root/arch/sh/include
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-08-20 19:53:49 +0100
committerMatt Fleming <matt@console-pimps.org>2009-08-21 13:04:11 +0100
commit5580e9044df9c0e87861739d8c527006ead92e52 (patch)
treeef7c280cbc9e5b9f22170485cf05e7ebbe6c01f5 /arch/sh/include
parent5480675dc60c7dda7146e506981b2b40a775cc1e (diff)
downloadlinux-5580e9044df9c0e87861739d8c527006ead92e52.tar.gz
linux-5580e9044df9c0e87861739d8c527006ead92e52.tar.bz2
linux-5580e9044df9c0e87861739d8c527006ead92e52.zip
sh: Handle the DWARF op, DW_CFA_undefined
Allow a DWARF register to have an undefined value. When applied to the DWARF return address register this lets lets us label a function as having no direct caller, e.g. kernel_thread_helper(). Signed-off-by: Matt Fleming <matt@console-pimps.org>
Diffstat (limited to 'arch/sh/include')
-rw-r--r--arch/sh/include/asm/dwarf.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/sh/include/asm/dwarf.h b/arch/sh/include/asm/dwarf.h
index 8b0bcc087385..c367ed3373c5 100644
--- a/arch/sh/include/asm/dwarf.h
+++ b/arch/sh/include/asm/dwarf.h
@@ -297,6 +297,7 @@ struct dwarf_reg {
unsigned long flags;
#define DWARF_REG_OFFSET (1 << 0)
#define DWARF_VAL_OFFSET (1 << 1)
+#define DWARF_UNDEFINED (1 << 2)
};
/*
@@ -370,6 +371,7 @@ extern struct dwarf_frame *dwarf_unwind_stack(unsigned long,
#define CFI_DEF_CFA .cfi_def_cfa
#define CFI_REGISTER .cfi_register
#define CFI_REL_OFFSET .cfi_rel_offset
+#define CFI_UNDEFINED .cfi_undefined
#else
@@ -383,6 +385,7 @@ extern struct dwarf_frame *dwarf_unwind_stack(unsigned long,
#define CFI_DEF_CFA CFI_IGNORE
#define CFI_REGISTER CFI_IGNORE
#define CFI_REL_OFFSET CFI_IGNORE
+#define CFI_UNDEFINED CFI_IGNORE
#ifndef __ASSEMBLY__
static inline void dwarf_unwinder_init(void)