diff options
Diffstat (limited to 'include/linux/module.h')
-rw-r--r-- | include/linux/module.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 627ac082e2a6..098bdb7bfacf 100644 --- a/include/linux/module.h +++ b/include/linux/module.h | |||
@@ -77,6 +77,7 @@ search_extable(const struct exception_table_entry *first, | |||
77 | void sort_extable(struct exception_table_entry *start, | 77 | void sort_extable(struct exception_table_entry *start, |
78 | struct exception_table_entry *finish); | 78 | struct exception_table_entry *finish); |
79 | void sort_main_extable(void); | 79 | void sort_main_extable(void); |
80 | void trim_init_extable(struct module *m); | ||
80 | 81 | ||
81 | #ifdef MODULE | 82 | #ifdef MODULE |
82 | #define MODULE_GENERIC_TABLE(gtype,name) \ | 83 | #define MODULE_GENERIC_TABLE(gtype,name) \ |
@@ -337,6 +338,14 @@ struct module | |||
337 | const char **trace_bprintk_fmt_start; | 338 | const char **trace_bprintk_fmt_start; |
338 | unsigned int num_trace_bprintk_fmt; | 339 | unsigned int num_trace_bprintk_fmt; |
339 | #endif | 340 | #endif |
341 | #ifdef CONFIG_EVENT_TRACING | ||
342 | struct ftrace_event_call *trace_events; | ||
343 | unsigned int num_trace_events; | ||
344 | #endif | ||
345 | #ifdef CONFIG_FTRACE_MCOUNT_RECORD | ||
346 | unsigned long *ftrace_callsites; | ||
347 | unsigned int num_ftrace_callsites; | ||
348 | #endif | ||
340 | 349 | ||
341 | #ifdef CONFIG_MODULE_UNLOAD | 350 | #ifdef CONFIG_MODULE_UNLOAD |
342 | /* What modules depend on me? */ | 351 | /* What modules depend on me? */ |
@@ -354,6 +363,12 @@ struct module | |||
354 | local_t ref; | 363 | local_t ref; |
355 | #endif | 364 | #endif |
356 | #endif | 365 | #endif |
366 | |||
367 | #ifdef CONFIG_CONSTRUCTORS | ||
368 | /* Constructor functions. */ | ||
369 | ctor_fn_t *ctors; | ||
370 | unsigned int num_ctors; | ||
371 | #endif | ||
357 | }; | 372 | }; |
358 | #ifndef MODULE_ARCH_INIT | 373 | #ifndef MODULE_ARCH_INIT |
359 | #define MODULE_ARCH_INIT {} | 374 | #define MODULE_ARCH_INIT {} |
@@ -688,4 +703,21 @@ static inline void module_remove_modinfo_attrs(struct module *mod) | |||
688 | 703 | ||
689 | #define __MODULE_STRING(x) __stringify(x) | 704 | #define __MODULE_STRING(x) __stringify(x) |
690 | 705 | ||
706 | |||
707 | #ifdef CONFIG_GENERIC_BUG | ||
708 | int module_bug_finalize(const Elf_Ehdr *, const Elf_Shdr *, | ||
709 | struct module *); | ||
710 | void module_bug_cleanup(struct module *); | ||
711 | |||
712 | #else /* !CONFIG_GENERIC_BUG */ | ||
713 | |||
714 | static inline int module_bug_finalize(const Elf_Ehdr *hdr, | ||
715 | const Elf_Shdr *sechdrs, | ||
716 | struct module *mod) | ||
717 | { | ||
718 | return 0; | ||
719 | } | ||
720 | static inline void module_bug_cleanup(struct module *mod) {} | ||
721 | #endif /* CONFIG_GENERIC_BUG */ | ||
722 | |||
691 | #endif /* _LINUX_MODULE_H */ | 723 | #endif /* _LINUX_MODULE_H */ |