summaryrefslogtreecommitdiffstats
path: root/arch/sh/include
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-10-12 08:42:46 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-10-12 08:42:46 +0900
commit5ab78ff693d09a6ffc7ca80ad600b2f5feb89d7f (patch)
tree5be171179a73ffe9f3fe7a5aa825acd74ffe47e8 /arch/sh/include
parent74db2479c1fecefd0a190f282f28f00565309807 (diff)
parentc2d474d6f8b48b6698343cfc1a3630c4647aa7b2 (diff)
downloadop-kernel-dev-5ab78ff693d09a6ffc7ca80ad600b2f5feb89d7f.zip
op-kernel-dev-5ab78ff693d09a6ffc7ca80ad600b2f5feb89d7f.tar.gz
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 c367ed3..eef8753 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
OpenPOWER on IntegriCloud