aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/dwarf.h
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
commitada47b5fe13d89735805b566185f4885f5a3f750 (patch)
tree644b88f8a71896307d71438e9b3af49126ffb22b /arch/sh/include/asm/dwarf.h
parent43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff)
parent3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff)
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'arch/sh/include/asm/dwarf.h')
-rw-r--r--arch/sh/include/asm/dwarf.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/arch/sh/include/asm/dwarf.h b/arch/sh/include/asm/dwarf.h
index ced6795891a6..d62abd1d0c05 100644
--- a/arch/sh/include/asm/dwarf.h
+++ b/arch/sh/include/asm/dwarf.h
@@ -194,6 +194,12 @@
194#define DWARF_ARCH_RA_REG 17 194#define DWARF_ARCH_RA_REG 17
195 195
196#ifndef __ASSEMBLY__ 196#ifndef __ASSEMBLY__
197
198#include <linux/compiler.h>
199#include <linux/bug.h>
200#include <linux/list.h>
201#include <linux/module.h>
202
197/* 203/*
198 * Read either the frame pointer (r14) or the stack pointer (r15). 204 * Read either the frame pointer (r14) or the stack pointer (r15).
199 * NOTE: this MUST be inlined. 205 * NOTE: this MUST be inlined.
@@ -237,10 +243,13 @@ struct dwarf_cie {
237 243
238 unsigned long cie_pointer; 244 unsigned long cie_pointer;
239 245
240 struct list_head link;
241
242 unsigned long flags; 246 unsigned long flags;
243#define DWARF_CIE_Z_AUGMENTATION (1 << 0) 247#define DWARF_CIE_Z_AUGMENTATION (1 << 0)
248
249 /* linked-list entry if this CIE is from a module */
250 struct list_head link;
251
252 struct rb_node node;
244}; 253};
245 254
246/** 255/**
@@ -254,7 +263,11 @@ struct dwarf_fde {
254 unsigned long address_range; 263 unsigned long address_range;
255 unsigned char *instructions; 264 unsigned char *instructions;
256 unsigned char *end; 265 unsigned char *end;
266
267 /* linked-list entry if this FDE is from a module */
257 struct list_head link; 268 struct list_head link;
269
270 struct rb_node node;
258}; 271};
259 272
260/** 273/**
@@ -364,6 +377,12 @@ static inline unsigned int DW_CFA_operand(unsigned long insn)
364 377
365extern struct dwarf_frame *dwarf_unwind_stack(unsigned long, 378extern struct dwarf_frame *dwarf_unwind_stack(unsigned long,
366 struct dwarf_frame *); 379 struct dwarf_frame *);
380extern void dwarf_free_frame(struct dwarf_frame *);
381
382extern int module_dwarf_finalize(const Elf_Ehdr *, const Elf_Shdr *,
383 struct module *);
384extern void module_dwarf_cleanup(struct module *);
385
367#endif /* !__ASSEMBLY__ */ 386#endif /* !__ASSEMBLY__ */
368 387
369#define CFI_STARTPROC .cfi_startproc 388#define CFI_STARTPROC .cfi_startproc
@@ -391,6 +410,10 @@ extern struct dwarf_frame *dwarf_unwind_stack(unsigned long,
391static inline void dwarf_unwinder_init(void) 410static inline void dwarf_unwinder_init(void)
392{ 411{
393} 412}
413
414#define module_dwarf_finalize(hdr, sechdrs, me) (0)
415#define module_dwarf_cleanup(mod) do { } while (0)
416
394#endif 417#endif
395 418
396#endif /* CONFIG_DWARF_UNWINDER */ 419#endif /* CONFIG_DWARF_UNWINDER */