Messages in this thread Patch in this message | | | Date | Thu, 4 Mar 2004 12:37:49 +0100 | From | Daniel Mack <> | Subject | [PATCH] 2.6.4-rc2: scripts/modpost.c |
| |
(This is is a repost - now with a patch for 2.6.4-rc2).
Hi,
as I found out, it's impossible to use the build-chain tool scripts/modpost of the 2.6 kernel series to externally build modules from a directory that contains the character sequence '.o'. Weird things happen if you try to do so.
With a directory structure like on my system here, building the current DVB driver in '/home/daniel/cvs.linuxtv.org/dvb-kernel/build-2.6i/' generates a file called '/home/daniel/cvs.linuxtv.mod.c' since modpost cuts every filename string at the first occurence of '.o', not only the 'trailing .o', as the comment says.
Here's the patch for 2.6.4-rc2:
--- linux-2.6.4-rc2.orig/scripts/modpost.c 2004-03-04 11:40:21.000000000 +0100 +++ linux-2.6.4-rc2/scripts/modpost.c 2004-03-04 11:23:08.000000000 +0100 @@ -63,16 +63,16 @@ new_module(char *modname) { struct module *mod; - char *p; + int len; mod = NOFAIL(malloc(sizeof(*mod))); memset(mod, 0, sizeof(*mod)); mod->name = NOFAIL(strdup(modname)); /* strip trailing .o */ - p = strstr(mod->name, ".o"); - if (p) - *p = 0; + len = strlen(mod->name); + if (len > 2 && mod->name[len-2] == '.' && mod->name[len-1] == 'o') + mod->name[len-2] = 0; /* add to list */ mod->next = modules;
Daniel
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |