kbuild: remove the first line of *.mod files
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 17 Jul 2019 06:17:58 +0000 (15:17 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 17 Jul 2019 17:19:31 +0000 (02:19 +0900)
The current format of *.mod is like this:

  line 1: directory path to the .ko file
  line 2: a list of objects linked into this module
  line 3: unresolved symbols (only when CONFIG_TRIM_UNUSED_KSYMS=y)

Now that *.mod and *.ko are created in the same directory, the line 1
provides no valuable information. It can be derived by replacing the
extension .mod with .ko. In fact, nobody uses the first line any more.

Cut down the first line.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/Makefile.build
scripts/adjust_autoksyms.sh
scripts/mod/sumversion.c

index c6dfcc0..9f37f20 100644 (file)
@@ -274,7 +274,7 @@ $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE
 $(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE
        $(call cmd,force_checksrc)
        $(call if_changed_rule,cc_o_c)
-       @{ echo $(@:.o=.ko); echo $@; \
+       @{ echo $@; \
           $(cmd_undef_syms); } > $(patsubst %.o,%.mod,$@)
 
 quiet_cmd_cc_lst_c = MKLST   $@
@@ -456,7 +456,7 @@ quiet_cmd_link_multi-m = LD [M]  $@
 
 $(multi-used-m): FORCE
        $(call if_changed,link_multi-m)
-       @{ echo $(@:.o=.ko); echo $(filter %.o,$^); \
+       @{ echo $(filter %.o,$^); \
           $(cmd_undef_syms); } > $(patsubst %.o,%.mod,$@)
 $(call multi_depend, $(multi-used-m), .o, -objs -y -m)
 
index 2e4a732..a904bf1 100755 (executable)
@@ -8,7 +8,7 @@
 #
 
 # Create/update the include/generated/autoksyms.h file from the list
-# of all module's needed symbols as recorded on the third line of *.mod files.
+# of all module's needed symbols as recorded on the second line of *.mod files.
 #
 # For each symbol being added or removed, the corresponding dependency
 # file's timestamp is updated to force a rebuild of the affected source
@@ -47,7 +47,7 @@ cat > "$new_ksyms_file" << EOT
 
 EOT
 sed 's/ko$/mod/' modules.order |
-xargs -n1 sed -n -e '3{s/ /\n/g;/^$/!p;}' -- |
+xargs -n1 sed -n -e '2{s/ /\n/g;/^$/!p;}' -- |
 sort -u |
 sed -e 's/\(.*\)/#define __KSYM_\1 1/' >> "$new_ksyms_file"
 
index 166f3fa..6306202 100644 (file)
@@ -398,7 +398,7 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
        char *sources, *end, *fname;
        char filelist[PATH_MAX + 1];
 
-       /* objects for a module are listed in the second line of *.mod file. */
+       /* objects for a module are listed in the first line of *.mod file. */
        snprintf(filelist, sizeof(filelist), "%.*smod",
                 (int)strlen(modname) - 1, modname);
 
@@ -407,13 +407,8 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
                /* not a module or .mod file missing - ignore */
                return;
 
-       sources = strchr(file, '\n');
-       if (!sources) {
-               warn("malformed versions file for %s\n", modname);
-               goto release;
-       }
+       sources = file;
 
-       sources++;
        end = strchr(sources, '\n');
        if (!end) {
                warn("bad ending versions file for %s\n", modname);