]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - scripts/mod/sumversion.c
Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux
[linux-2.6-omap-h63xx.git] / scripts / mod / sumversion.c
index 8a2875689e4da48202ddc87468a23e0e8db58c58..aadc5223dcdb015565910ed0a30f4d009e1efb27 100644 (file)
@@ -7,6 +7,7 @@
 #include <ctype.h>
 #include <errno.h>
 #include <string.h>
+#include <limits.h>
 #include "modpost.h"
 
 /*
@@ -289,6 +290,15 @@ static int parse_file(const char *fname, struct md4_ctx *md)
        release_file(file, len);
        return 1;
 }
+/* Check whether the file is a static library or not */
+static int is_static_library(const char *objfile)
+{
+       int len = strlen(objfile);
+       if (objfile[len - 2] == '.' && objfile[len - 1] == 'a')
+               return 1;
+       else
+               return 0;
+}
 
 /* We have dir/file.o.  Open dir/.file.o.cmd, look for deps_ line to
  * figure out source file. */
@@ -397,10 +407,9 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
                (int) strlen(basename) - 2, basename);
 
        file = grab_file(filelist, &len);
-       if (!file) {
-               warn("could not find versions for %s\n", filelist);
+       if (!file)
+               /* not a module or .mod file missing - ignore */
                return;
-       }
 
        sources = strchr(file, '\n');
        if (!sources) {
@@ -420,7 +429,8 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
        while ((fname = strsep(&sources, " ")) != NULL) {
                if (!*fname)
                        continue;
-               if (!parse_source_files(fname, &md))
+               if (!(is_static_library(fname)) &&
+                               !parse_source_files(fname, &md))
                        goto release;
        }