lkml.org 
[lkml]   [2004]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Subject[FIX] Replace hard-coded MODVERDIR in modpost
From
Date
Hello,

when building external modules, MODVERDIR is relative to the
external module instead of in the kernel source tree. Use the
MODVERDIR environment variable instead of the hard-coded path
in modpost.


Index: linux-2.6.8/scripts/mod/sumversion.c
===================================================================
--- linux-2.6.8.orig/scripts/mod/sumversion.c
+++ linux-2.6.8/scripts/mod/sumversion.c
@@ -416,7 +416,8 @@ static int get_version(const char *modna
struct md4_ctx md;
char *sources, *end, *fname;
const char *basename;
- char filelist[sizeof(".tmp_versions/%s.mod") + strlen(modname)];
+ char filelist[strlen(getenv("MODVERDIR")) + strlen("/") +
+ strlen(modname) - strlen(".o") + strlen(".mod") + 1 ];

/* Source files for module are in .tmp_versions/modname.mod,
after the first line. */
@@ -424,9 +425,8 @@ static int get_version(const char *modna
basename = strrchr(modname, '/') + 1;
else
basename = modname;
- sprintf(filelist, ".tmp_versions/%s", basename);
- /* Truncate .o, add .mod */
- strcpy(filelist + strlen(filelist)-2, ".mod");
+ sprintf(filelist, "%s/%.*s.mod", getenv("MODVERDIR"),
+ (int) strlen(basename) - 2, basename);

file = grab_file(filelist, &len);
if (!file) {

Cheers,
--
Andreas Gruenbacher <agruen@suse.de>
SUSE Labs, SUSE LINUX AG

Date: Thu, 16 Sep 2004 16:08:38 +0200
From: Andreas Gruenbacher <agruen@suse.de>
Subject: Fix .tmp_versions for external modules

When building external modules, MODVERDIR is relative to the
external module instead of in the kernel source tree. Use the
MODVERDIR environment variable instead of the hard-coded path
in modpost.

Index: linux-2.6.8/scripts/mod/sumversion.c
===================================================================
--- linux-2.6.8.orig/scripts/mod/sumversion.c
+++ linux-2.6.8/scripts/mod/sumversion.c
@@ -416,7 +416,8 @@ static int get_version(const char *modna
struct md4_ctx md;
char *sources, *end, *fname;
const char *basename;
- char filelist[sizeof(".tmp_versions/%s.mod") + strlen(modname)];
+ char filelist[strlen(getenv("MODVERDIR")) + strlen("/") +
+ strlen(modname) - strlen(".o") + strlen(".mod") + 1 ];

/* Source files for module are in .tmp_versions/modname.mod,
after the first line. */
@@ -424,9 +425,8 @@ static int get_version(const char *modna
basename = strrchr(modname, '/') + 1;
else
basename = modname;
- sprintf(filelist, ".tmp_versions/%s", basename);
- /* Truncate .o, add .mod */
- strcpy(filelist + strlen(filelist)-2, ".mod");
+ sprintf(filelist, "%s/%.*s.mod", getenv("MODVERDIR"),
+ (int) strlen(basename) - 2, basename);

file = grab_file(filelist, &len);
if (!file) {
\
 
 \ /
  Last update: 2005-03-22 14:06    [from the cache]
©2003-2011 Jasper Spaans