summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/unwind.h8
-rw-r--r--kernel/unwind.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/unwind.h b/include/linux/unwind.h
index 13c7b2c..ce48e2c 100644
--- a/include/linux/unwind.h
+++ b/include/linux/unwind.h
@@ -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(struct module *mod,
return NULL;
}
+#endif
+
static inline void unwind_remove_table(void *handle, int init_only)
{
}
diff --git a/kernel/unwind.c b/kernel/unwind.c
index 0421035..f69c804 100644
--- a/kernel/unwind.c
+++ b/kernel/unwind.c
@@ -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, int init_only)
kfree(table);
}
+#endif /* CONFIG_MODULES */
+
static uleb128_t get_uleb128(const u8 **pcur, const u8 *end)
{
const u8 *cur = *pcur;
OpenPOWER on IntegriCloud