Loading scripts/mod/modpost.c +54 −70 Original line number Diff line number Diff line Loading @@ -21,8 +21,7 @@ int have_vmlinux = 0; /* Is CONFIG_MODULE_SRCVERSION_ALL set? */ static int all_versions = 0; void fatal(const char *fmt, ...) void fatal(const char *fmt, ...) { va_list arglist; Loading @@ -35,8 +34,7 @@ fatal(const char *fmt, ...) exit(1); } void warn(const char *fmt, ...) void warn(const char *fmt, ...) { va_list arglist; Loading @@ -59,8 +57,7 @@ void *do_nofail(void *ptr, const char *expr) static struct module *modules; struct module * find_module(char *modname) static struct module *find_module(char *modname) { struct module *mod; Loading @@ -70,8 +67,7 @@ find_module(char *modname) return mod; } struct module * new_module(char *modname) static struct module *new_module(char *modname) { struct module *mod; char *p, *s; Loading Loading @@ -122,11 +118,12 @@ static inline unsigned int tdb_hash(const char *name) return (1103515243 * value + 12345); } /* Allocate a new symbols for use in the hash of exported symbols or * the list of unresolved symbols per module */ struct symbol * alloc_symbol(const char *name, unsigned int weak, struct symbol *next) /** * Allocate a new symbols for use in the hash of exported symbols or * the list of unresolved symbols per module **/ static struct symbol *alloc_symbol(const char *name, unsigned int weak, struct symbol *next) { struct symbol *s = NOFAIL(malloc(sizeof(*s) + strlen(name) + 1)); Loading @@ -138,9 +135,8 @@ alloc_symbol(const char *name, unsigned int weak, struct symbol *next) } /* For the hash of exported symbols */ void new_symbol(const char *name, struct module *module, unsigned int *crc) static void new_symbol(const char *name, struct module *module, unsigned int *crc) { unsigned int hash; struct symbol *new; Loading @@ -154,8 +150,7 @@ new_symbol(const char *name, struct module *module, unsigned int *crc) } } struct symbol * find_symbol(const char *name) static struct symbol *find_symbol(const char *name) { struct symbol *s; Loading @@ -170,10 +165,12 @@ find_symbol(const char *name) return NULL; } /* Add an exported symbol - it may have already been added without a * CRC, in this case just update the CRC */ void add_exported_symbol(const char *name, struct module *module, unsigned int *crc) /** * Add an exported symbol - it may have already been added without a * CRC, in this case just update the CRC **/ static void add_exported_symbol(const char *name, struct module *module, unsigned int *crc) { struct symbol *s = find_symbol(name); Loading @@ -187,8 +184,7 @@ add_exported_symbol(const char *name, struct module *module, unsigned int *crc) } } void * grab_file(const char *filename, unsigned long *size) void *grab_file(const char *filename, unsigned long *size) { struct stat st; void *map; Loading @@ -207,13 +203,12 @@ grab_file(const char *filename, unsigned long *size) return map; } /* Return a copy of the next line in a mmap'ed file. spaces in the beginning of the line is trimmed away. Return a pointer to a static buffer. */ char* get_next_line(unsigned long *pos, void *file, unsigned long size) /** * Return a copy of the next line in a mmap'ed file. * spaces in the beginning of the line is trimmed away. * Return a pointer to a static buffer. **/ char* get_next_line(unsigned long *pos, void *file, unsigned long size) { static char line[4096]; int skip = 1; Loading Loading @@ -243,14 +238,12 @@ get_next_line(unsigned long *pos, void *file, unsigned long size) return NULL; } void release_file(void *file, unsigned long size) void release_file(void *file, unsigned long size) { munmap(file, size); } void parse_elf(struct elf_info *info, const char *filename) static void parse_elf(struct elf_info *info, const char *filename) { unsigned int i; Elf_Ehdr *hdr = info->hdr; Loading Loading @@ -318,8 +311,7 @@ parse_elf(struct elf_info *info, const char *filename) fatal("%s is truncated.\n", filename); } void parse_elf_finish(struct elf_info *info) static void parse_elf_finish(struct elf_info *info) { release_file(info->hdr, info->size); } Loading @@ -327,8 +319,7 @@ parse_elf_finish(struct elf_info *info) #define CRC_PFX "__crc_" #define KSYMTAB_PFX "__ksymtab_" void handle_modversions(struct module *mod, struct elf_info *info, static void handle_modversions(struct module *mod, struct elf_info *info, Elf_Sym *sym, const char *symname) { unsigned int crc; Loading Loading @@ -397,8 +388,7 @@ handle_modversions(struct module *mod, struct elf_info *info, } } int is_vmlinux(const char *modname) static int is_vmlinux(const char *modname) { const char *myname; Loading @@ -410,7 +400,9 @@ is_vmlinux(const char *modname) return strcmp(myname, "vmlinux") == 0; } /* Parse tag=value strings from .modinfo section */ /** * Parse tag=value strings from .modinfo section **/ static char *next_string(char *string, unsigned long *secsize) { /* Skip non-zero chars */ Loading Loading @@ -443,8 +435,7 @@ static char *get_modinfo(void *modinfo, unsigned long modinfo_len, return NULL; } void read_symbols(char *modname) static void read_symbols(char *modname) { const char *symname; char *version; Loading Loading @@ -496,8 +487,8 @@ read_symbols(char *modname) * following helper, then compare to the file on disk and * only update the later if anything changed */ void __attribute__((format(printf, 2, 3))) buf_printf(struct buffer *buf, const char *fmt, ...) void __attribute__((format(printf, 2, 3))) buf_printf(struct buffer *buf, const char *fmt, ...) { char tmp[SZ]; int len; Loading @@ -514,8 +505,7 @@ buf_printf(struct buffer *buf, const char *fmt, ...) va_end(ap); } void buf_write(struct buffer *buf, const char *s, int len) void buf_write(struct buffer *buf, const char *s, int len) { if (buf->size - buf->pos < len) { buf->size += len; Loading @@ -525,10 +515,10 @@ buf_write(struct buffer *buf, const char *s, int len) buf->pos += len; } /* Header for the generated file */ void add_header(struct buffer *b, struct module *mod) /** * Header for the generated file **/ static void add_header(struct buffer *b, struct module *mod) { buf_printf(b, "#include <linux/module.h>\n"); buf_printf(b, "#include <linux/vermagic.h>\n"); Loading @@ -548,10 +538,10 @@ add_header(struct buffer *b, struct module *mod) buf_printf(b, "};\n"); } /* Record CRCs for unresolved symbols */ void add_versions(struct buffer *b, struct module *mod) /** * Record CRCs for unresolved symbols **/ static void add_versions(struct buffer *b, struct module *mod) { struct symbol *s, *exp; Loading Loading @@ -591,8 +581,8 @@ add_versions(struct buffer *b, struct module *mod) buf_printf(b, "};\n"); } void add_depends(struct buffer *b, struct module *mod, struct module *modules) static void add_depends(struct buffer *b, struct module *mod, struct module *modules) { struct symbol *s; struct module *m; Loading Loading @@ -622,8 +612,7 @@ add_depends(struct buffer *b, struct module *mod, struct module *modules) buf_printf(b, "\";\n"); } void add_srcversion(struct buffer *b, struct module *mod) static void add_srcversion(struct buffer *b, struct module *mod) { if (mod->srcversion[0]) { buf_printf(b, "\n"); Loading @@ -632,8 +621,7 @@ add_srcversion(struct buffer *b, struct module *mod) } } void write_if_changed(struct buffer *b, const char *fname) static void write_if_changed(struct buffer *b, const char *fname) { char *tmp; FILE *file; Loading Loading @@ -677,8 +665,7 @@ write_if_changed(struct buffer *b, const char *fname) fclose(file); } void read_dump(const char *fname) static void read_dump(const char *fname) { unsigned long size, pos = 0; void *file = grab_file(fname, &size); Loading Loading @@ -719,8 +706,7 @@ read_dump(const char *fname) fatal("parse error in symbol dump file\n"); } void write_dump(const char *fname) static void write_dump(const char *fname) { struct buffer buf = { }; struct symbol *symbol; Loading @@ -744,8 +730,7 @@ write_dump(const char *fname) write_if_changed(&buf, fname); } int main(int argc, char **argv) int main(int argc, char **argv) { struct module *mod; struct buffer buf = { }; Loading Loading @@ -800,4 +785,3 @@ main(int argc, char **argv) return 0; } Loading
scripts/mod/modpost.c +54 −70 Original line number Diff line number Diff line Loading @@ -21,8 +21,7 @@ int have_vmlinux = 0; /* Is CONFIG_MODULE_SRCVERSION_ALL set? */ static int all_versions = 0; void fatal(const char *fmt, ...) void fatal(const char *fmt, ...) { va_list arglist; Loading @@ -35,8 +34,7 @@ fatal(const char *fmt, ...) exit(1); } void warn(const char *fmt, ...) void warn(const char *fmt, ...) { va_list arglist; Loading @@ -59,8 +57,7 @@ void *do_nofail(void *ptr, const char *expr) static struct module *modules; struct module * find_module(char *modname) static struct module *find_module(char *modname) { struct module *mod; Loading @@ -70,8 +67,7 @@ find_module(char *modname) return mod; } struct module * new_module(char *modname) static struct module *new_module(char *modname) { struct module *mod; char *p, *s; Loading Loading @@ -122,11 +118,12 @@ static inline unsigned int tdb_hash(const char *name) return (1103515243 * value + 12345); } /* Allocate a new symbols for use in the hash of exported symbols or * the list of unresolved symbols per module */ struct symbol * alloc_symbol(const char *name, unsigned int weak, struct symbol *next) /** * Allocate a new symbols for use in the hash of exported symbols or * the list of unresolved symbols per module **/ static struct symbol *alloc_symbol(const char *name, unsigned int weak, struct symbol *next) { struct symbol *s = NOFAIL(malloc(sizeof(*s) + strlen(name) + 1)); Loading @@ -138,9 +135,8 @@ alloc_symbol(const char *name, unsigned int weak, struct symbol *next) } /* For the hash of exported symbols */ void new_symbol(const char *name, struct module *module, unsigned int *crc) static void new_symbol(const char *name, struct module *module, unsigned int *crc) { unsigned int hash; struct symbol *new; Loading @@ -154,8 +150,7 @@ new_symbol(const char *name, struct module *module, unsigned int *crc) } } struct symbol * find_symbol(const char *name) static struct symbol *find_symbol(const char *name) { struct symbol *s; Loading @@ -170,10 +165,12 @@ find_symbol(const char *name) return NULL; } /* Add an exported symbol - it may have already been added without a * CRC, in this case just update the CRC */ void add_exported_symbol(const char *name, struct module *module, unsigned int *crc) /** * Add an exported symbol - it may have already been added without a * CRC, in this case just update the CRC **/ static void add_exported_symbol(const char *name, struct module *module, unsigned int *crc) { struct symbol *s = find_symbol(name); Loading @@ -187,8 +184,7 @@ add_exported_symbol(const char *name, struct module *module, unsigned int *crc) } } void * grab_file(const char *filename, unsigned long *size) void *grab_file(const char *filename, unsigned long *size) { struct stat st; void *map; Loading @@ -207,13 +203,12 @@ grab_file(const char *filename, unsigned long *size) return map; } /* Return a copy of the next line in a mmap'ed file. spaces in the beginning of the line is trimmed away. Return a pointer to a static buffer. */ char* get_next_line(unsigned long *pos, void *file, unsigned long size) /** * Return a copy of the next line in a mmap'ed file. * spaces in the beginning of the line is trimmed away. * Return a pointer to a static buffer. **/ char* get_next_line(unsigned long *pos, void *file, unsigned long size) { static char line[4096]; int skip = 1; Loading Loading @@ -243,14 +238,12 @@ get_next_line(unsigned long *pos, void *file, unsigned long size) return NULL; } void release_file(void *file, unsigned long size) void release_file(void *file, unsigned long size) { munmap(file, size); } void parse_elf(struct elf_info *info, const char *filename) static void parse_elf(struct elf_info *info, const char *filename) { unsigned int i; Elf_Ehdr *hdr = info->hdr; Loading Loading @@ -318,8 +311,7 @@ parse_elf(struct elf_info *info, const char *filename) fatal("%s is truncated.\n", filename); } void parse_elf_finish(struct elf_info *info) static void parse_elf_finish(struct elf_info *info) { release_file(info->hdr, info->size); } Loading @@ -327,8 +319,7 @@ parse_elf_finish(struct elf_info *info) #define CRC_PFX "__crc_" #define KSYMTAB_PFX "__ksymtab_" void handle_modversions(struct module *mod, struct elf_info *info, static void handle_modversions(struct module *mod, struct elf_info *info, Elf_Sym *sym, const char *symname) { unsigned int crc; Loading Loading @@ -397,8 +388,7 @@ handle_modversions(struct module *mod, struct elf_info *info, } } int is_vmlinux(const char *modname) static int is_vmlinux(const char *modname) { const char *myname; Loading @@ -410,7 +400,9 @@ is_vmlinux(const char *modname) return strcmp(myname, "vmlinux") == 0; } /* Parse tag=value strings from .modinfo section */ /** * Parse tag=value strings from .modinfo section **/ static char *next_string(char *string, unsigned long *secsize) { /* Skip non-zero chars */ Loading Loading @@ -443,8 +435,7 @@ static char *get_modinfo(void *modinfo, unsigned long modinfo_len, return NULL; } void read_symbols(char *modname) static void read_symbols(char *modname) { const char *symname; char *version; Loading Loading @@ -496,8 +487,8 @@ read_symbols(char *modname) * following helper, then compare to the file on disk and * only update the later if anything changed */ void __attribute__((format(printf, 2, 3))) buf_printf(struct buffer *buf, const char *fmt, ...) void __attribute__((format(printf, 2, 3))) buf_printf(struct buffer *buf, const char *fmt, ...) { char tmp[SZ]; int len; Loading @@ -514,8 +505,7 @@ buf_printf(struct buffer *buf, const char *fmt, ...) va_end(ap); } void buf_write(struct buffer *buf, const char *s, int len) void buf_write(struct buffer *buf, const char *s, int len) { if (buf->size - buf->pos < len) { buf->size += len; Loading @@ -525,10 +515,10 @@ buf_write(struct buffer *buf, const char *s, int len) buf->pos += len; } /* Header for the generated file */ void add_header(struct buffer *b, struct module *mod) /** * Header for the generated file **/ static void add_header(struct buffer *b, struct module *mod) { buf_printf(b, "#include <linux/module.h>\n"); buf_printf(b, "#include <linux/vermagic.h>\n"); Loading @@ -548,10 +538,10 @@ add_header(struct buffer *b, struct module *mod) buf_printf(b, "};\n"); } /* Record CRCs for unresolved symbols */ void add_versions(struct buffer *b, struct module *mod) /** * Record CRCs for unresolved symbols **/ static void add_versions(struct buffer *b, struct module *mod) { struct symbol *s, *exp; Loading Loading @@ -591,8 +581,8 @@ add_versions(struct buffer *b, struct module *mod) buf_printf(b, "};\n"); } void add_depends(struct buffer *b, struct module *mod, struct module *modules) static void add_depends(struct buffer *b, struct module *mod, struct module *modules) { struct symbol *s; struct module *m; Loading Loading @@ -622,8 +612,7 @@ add_depends(struct buffer *b, struct module *mod, struct module *modules) buf_printf(b, "\";\n"); } void add_srcversion(struct buffer *b, struct module *mod) static void add_srcversion(struct buffer *b, struct module *mod) { if (mod->srcversion[0]) { buf_printf(b, "\n"); Loading @@ -632,8 +621,7 @@ add_srcversion(struct buffer *b, struct module *mod) } } void write_if_changed(struct buffer *b, const char *fname) static void write_if_changed(struct buffer *b, const char *fname) { char *tmp; FILE *file; Loading Loading @@ -677,8 +665,7 @@ write_if_changed(struct buffer *b, const char *fname) fclose(file); } void read_dump(const char *fname) static void read_dump(const char *fname) { unsigned long size, pos = 0; void *file = grab_file(fname, &size); Loading Loading @@ -719,8 +706,7 @@ read_dump(const char *fname) fatal("parse error in symbol dump file\n"); } void write_dump(const char *fname) static void write_dump(const char *fname) { struct buffer buf = { }; struct symbol *symbol; Loading @@ -744,8 +730,7 @@ write_dump(const char *fname) write_if_changed(&buf, fname); } int main(int argc, char **argv) int main(int argc, char **argv) { struct module *mod; struct buffer buf = { }; Loading Loading @@ -800,4 +785,3 @@ main(int argc, char **argv) return 0; }