Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83f4fcce authored by Jan Beulich's avatar Jan Beulich Committed by Linus Torvalds
Browse files

[PATCH] x86_64: allow unwinder to build without module support



Add proper conditionals to be able to build with CONFIG_MODULES=n.

Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent c33bd9aa
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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)
{
}
+4 −0
Original line number Diff line number Diff line
@@ -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;