*/
extern void unwind_init(void);
+#ifdef CONFIG_MODULES
+
extern void *unwind_add_table(struct module *,
const void *table_start,
unsigned long table_size);
extern void unwind_remove_table(void *handle, int init_only);
+#endif
+
extern int unwind_init_frame_info(struct unwind_frame_info *,
struct task_struct *,
/*const*/ struct pt_regs *);
* Prepare to unwind the currently running thread.
*/
extern int unwind_init_running(struct unwind_frame_info *,
- asmlinkage void (*callback)(struct unwind_frame_info *,
- void *arg),
+ asmlinkage int (*callback)(struct unwind_frame_info *,
+ void *arg),
void *arg);
/*
static inline void unwind_init(void) {}
+#ifdef CONFIG_MODULES
+
static inline void *unwind_add_table(struct module *mod,
const void *table_start,
unsigned long table_size)
return NULL;
}
+#endif
+
static inline void unwind_remove_table(void *handle, int init_only)
{
}
}
static inline int unwind_init_running(struct unwind_frame_info *info,
- asmlinkage void (*cb)(struct unwind_frame_info *,
- void *arg),
+ asmlinkage int (*cb)(struct unwind_frame_info *,
+ void *arg),
void *arg)
{
return -ENOSYS;