Commit 2e83d38a authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] kbuild: fix usage with directories containing '.o'

From: Sam Ravnborg <sam@ravnborg.org>

From: Daniel Mack <daniel@zonque.org>, me

modpost unconditionally searched for ".o" assuming this is always the
suffix of the module.  This fails in two cases:

a) when building external modules where any directory include ".o" in
   the name.  One example is a directory named: .../cvs.alsa.org/...

b) when someone names a kernel directory so it contains ".o".  One
   example is drivers/scsi/aic.ok/...

case b) was triggered by renaming the directory for aic7xxx, and modifying
Makefile and Kconfig.  This caused make modules to fail.
parent 238a43a0
......@@ -64,17 +64,20 @@ new_module(char *modname)
{
struct module *mod;
char *p;
size_t len;
mod = NOFAIL(malloc(sizeof(*mod)));
memset(mod, 0, sizeof(*mod));
mod->name = NOFAIL(strdup(modname));
p = NOFAIL(strdup(modname));
len = strlen(p);
/* strip trailing .o */
p = strstr(mod->name, ".o");
if (p)
*p = 0;
if (len > 2 && p[len-2] == '.' && p[len-1] == 'o')
p[len -2] = '\0';
/* add to list */
mod->name = NOFAIL(strdup(p));
mod->next = modules;
modules = mod;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment