diff options
Diffstat (limited to 'scripts/mod/modpost.c')
| -rw-r--r-- | scripts/mod/modpost.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 3f01fd90873..c4e7d1510f9 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -132,8 +132,10 @@ static struct module *new_module(char *modname)  	/* strip trailing .o */  	s = strrchr(p, '.');  	if (s != NULL) -		if (strcmp(s, ".o") == 0) +		if (strcmp(s, ".o") == 0) {  			*s = '\0'; +			mod->is_dot_o = 1; +		}  	/* add to list */  	mod->name = p; @@ -587,7 +589,8 @@ static void handle_modversions(struct module *mod, struct elf_info *info,  	unsigned int crc;  	enum export export; -	if (!is_vmlinux(mod->name) && strncmp(symname, "__ksymtab", 9) == 0) +	if ((!is_vmlinux(mod->name) || mod->is_dot_o) && +	    strncmp(symname, "__ksymtab", 9) == 0)  		export = export_from_secname(info, get_secindex(info, sym));  	else  		export = export_from_sec(info, get_secindex(info, sym)); | 
