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 */ |
