Signed-off-by: Andrew Morton --- include/linux/unwind.h | 8 ++++++++ kernel/unwind.c | 4 ++++ 2 files changed, 12 insertions(+) diff -puN include/linux/unwind.h~x86_64-mm-allow-unwinder-to-build-without-module-support include/linux/unwind.h --- devel/include/linux/unwind.h~x86_64-mm-allow-unwinder-to-build-without-module-support 2006-06-09 15:17:35.000000000 -0700 +++ devel-akpm/include/linux/unwind.h 2006-06-09 15:17:35.000000000 -0700 @@ -29,12 +29,16 @@ struct module; */ 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 *); @@ -72,6 +76,8 @@ struct unwind_frame_info {}; 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) @@ -79,6 +85,8 @@ static inline void *unwind_add_table(str return NULL; } +#endif + static inline void unwind_remove_table(void *handle, int init_only) { } diff -puN kernel/unwind.c~x86_64-mm-allow-unwinder-to-build-without-module-support kernel/unwind.c --- devel/kernel/unwind.c~x86_64-mm-allow-unwinder-to-build-without-module-support 2006-06-09 15:17:35.000000000 -0700 +++ devel-akpm/kernel/unwind.c 2006-06-09 15:17:35.000000000 -0700 @@ -172,6 +172,8 @@ void __init unwind_init(void) __start_unwind, __end_unwind - __start_unwind); } +#ifdef CONFIG_MODULES + /* Must be called with module_mutex held. */ void *unwind_add_table(struct module *module, const void *table_start, @@ -253,6 +255,8 @@ void unwind_remove_table(void *handle, i kfree(table); } +#endif /* CONFIG_MODULES */ + static uleb128_t get_uleb128(const u8 **pcur, const u8 *end) { const u8 *cur = *pcur; _