summaryrefslogtreecommitdiffstats
path: root/arch/sh/include
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-10-12 01:42:46 +0200
committerPaul Mundt <lethal@linux-sh.org>2009-10-12 01:42:46 +0200
commit5ab78ff693d09a6ffc7ca80ad600b2f5feb89d7f (patch)
tree5be171179a73ffe9f3fe7a5aa825acd74ffe47e8 /arch/sh/include
parentsh64: dummy unwinder BUG wrappers. (diff)
parentsh: Remove any reference to recursive functions from comments (diff)
downloadlinux-5ab78ff693d09a6ffc7ca80ad600b2f5feb89d7f.tar.xz
linux-5ab78ff693d09a6ffc7ca80ad600b2f5feb89d7f.zip
Merge branch 'sh/dwarf-unwinder' of git://github.com/mfleming/linux-2.6 into sh/dwarf-unwinder
Diffstat (limited to 'arch/sh/include')
-rw-r--r--arch/sh/include/asm/dwarf.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/sh/include/asm/dwarf.h b/arch/sh/include/asm/dwarf.h
index c367ed3373c5..eef87539963d 100644
--- a/arch/sh/include/asm/dwarf.h
+++ b/arch/sh/include/asm/dwarf.h
@@ -241,6 +241,12 @@ struct dwarf_cie {
unsigned long flags;
#define DWARF_CIE_Z_AUGMENTATION (1 << 0)
+
+ /*
+ * 'mod' will be non-NULL if this CIE came from a module's
+ * .eh_frame section.
+ */
+ struct module *mod;
};
/**
@@ -255,6 +261,12 @@ struct dwarf_fde {
unsigned char *instructions;
unsigned char *end;
struct list_head link;
+
+ /*
+ * 'mod' will be non-NULL if this FDE came from a module's
+ * .eh_frame section.
+ */
+ struct module *mod;
};
/**
@@ -364,6 +376,10 @@ static inline unsigned int DW_CFA_operand(unsigned long insn)
extern struct dwarf_frame *dwarf_unwind_stack(unsigned long,
struct dwarf_frame *);
+extern void dwarf_free_frame(struct dwarf_frame *);
+extern int dwarf_parse_section(char *, char *, struct module *);
+extern void dwarf_module_unload(struct module *);
+
#endif /* !__ASSEMBLY__ */
#define CFI_STARTPROC .cfi_startproc