diff options
Diffstat (limited to 'arch/sh/include/asm/dwarf.h')
-rw-r--r-- | arch/sh/include/asm/dwarf.h | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/arch/sh/include/asm/dwarf.h b/arch/sh/include/asm/dwarf.h index 2fbe8720411e..c367ed3373c5 100644 --- a/arch/sh/include/asm/dwarf.h +++ b/arch/sh/include/asm/dwarf.h | |||
@@ -265,10 +265,7 @@ struct dwarf_frame { | |||
265 | 265 | ||
266 | unsigned long pc; | 266 | unsigned long pc; |
267 | 267 | ||
268 | struct dwarf_reg *regs; | 268 | struct list_head reg_list; |
269 | unsigned int num_regs; /* how many regs are allocated? */ | ||
270 | |||
271 | unsigned int depth; /* what level are we in the callstack? */ | ||
272 | 269 | ||
273 | unsigned long cfa; | 270 | unsigned long cfa; |
274 | 271 | ||
@@ -292,20 +289,15 @@ struct dwarf_frame { | |||
292 | * @flags: Describes how to calculate the value of this register | 289 | * @flags: Describes how to calculate the value of this register |
293 | */ | 290 | */ |
294 | struct dwarf_reg { | 291 | struct dwarf_reg { |
292 | struct list_head link; | ||
293 | |||
294 | unsigned int number; | ||
295 | |||
295 | unsigned long addr; | 296 | unsigned long addr; |
296 | unsigned long flags; | 297 | unsigned long flags; |
297 | #define DWARF_REG_OFFSET (1 << 0) | 298 | #define DWARF_REG_OFFSET (1 << 0) |
298 | }; | 299 | #define DWARF_VAL_OFFSET (1 << 1) |
299 | 300 | #define DWARF_UNDEFINED (1 << 2) | |
300 | /** | ||
301 | * dwarf_stack - a DWARF stack contains a collection of DWARF frames | ||
302 | * @depth: the number of frames in the stack | ||
303 | * @level: an array of DWARF frames, indexed by stack level | ||
304 | * | ||
305 | */ | ||
306 | struct dwarf_stack { | ||
307 | unsigned int depth; | ||
308 | struct dwarf_frame **level; | ||
309 | }; | 301 | }; |
310 | 302 | ||
311 | /* | 303 | /* |
@@ -372,13 +364,14 @@ static inline unsigned int DW_CFA_operand(unsigned long insn) | |||
372 | 364 | ||
373 | extern struct dwarf_frame *dwarf_unwind_stack(unsigned long, | 365 | extern struct dwarf_frame *dwarf_unwind_stack(unsigned long, |
374 | struct dwarf_frame *); | 366 | struct dwarf_frame *); |
375 | #endif /* __ASSEMBLY__ */ | 367 | #endif /* !__ASSEMBLY__ */ |
376 | 368 | ||
377 | #define CFI_STARTPROC .cfi_startproc | 369 | #define CFI_STARTPROC .cfi_startproc |
378 | #define CFI_ENDPROC .cfi_endproc | 370 | #define CFI_ENDPROC .cfi_endproc |
379 | #define CFI_DEF_CFA .cfi_def_cfa | 371 | #define CFI_DEF_CFA .cfi_def_cfa |
380 | #define CFI_REGISTER .cfi_register | 372 | #define CFI_REGISTER .cfi_register |
381 | #define CFI_REL_OFFSET .cfi_rel_offset | 373 | #define CFI_REL_OFFSET .cfi_rel_offset |
374 | #define CFI_UNDEFINED .cfi_undefined | ||
382 | 375 | ||
383 | #else | 376 | #else |
384 | 377 | ||
@@ -392,6 +385,7 @@ extern struct dwarf_frame *dwarf_unwind_stack(unsigned long, | |||
392 | #define CFI_DEF_CFA CFI_IGNORE | 385 | #define CFI_DEF_CFA CFI_IGNORE |
393 | #define CFI_REGISTER CFI_IGNORE | 386 | #define CFI_REGISTER CFI_IGNORE |
394 | #define CFI_REL_OFFSET CFI_IGNORE | 387 | #define CFI_REL_OFFSET CFI_IGNORE |
388 | #define CFI_UNDEFINED CFI_IGNORE | ||
395 | 389 | ||
396 | #ifndef __ASSEMBLY__ | 390 | #ifndef __ASSEMBLY__ |
397 | static inline void dwarf_unwinder_init(void) | 391 | static inline void dwarf_unwinder_init(void) |