diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /arch/sh/include/asm/dwarf.h | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (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.h | 27 |
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 | ||
365 | extern struct dwarf_frame *dwarf_unwind_stack(unsigned long, | 378 | extern struct dwarf_frame *dwarf_unwind_stack(unsigned long, |
366 | struct dwarf_frame *); | 379 | struct dwarf_frame *); |
380 | extern void dwarf_free_frame(struct dwarf_frame *); | ||
381 | |||
382 | extern int module_dwarf_finalize(const Elf_Ehdr *, const Elf_Shdr *, | ||
383 | struct module *); | ||
384 | extern 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, | |||
391 | static inline void dwarf_unwinder_init(void) | 410 | static 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 */ |