]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
kbuild: remove partial section mismatch detection for built-in.a
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 19 Mar 2018 11:26:11 +0000 (20:26 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 25 Mar 2018 17:01:28 +0000 (02:01 +0900)
When built-in.o was incrementally linked with 'ld -r', the section
mismatch analysis for the individual built-in.o was possible when
CONFIG_DEBUG_SECTION_MISMATCH was enabled.

With the migration to the thin archive, built-in.a (former, built-in.o)
is no longer an ELF file.  So, the modpost does nothing useful.
scripts/mod/modpost.c just checks the header to bail out, as follows:

        /* Is this a valid ELF file? */
        if ((hdr->e_ident[EI_MAG0] != ELFMAG0) ||
            (hdr->e_ident[EI_MAG1] != ELFMAG1) ||
            (hdr->e_ident[EI_MAG2] != ELFMAG2) ||
            (hdr->e_ident[EI_MAG3] != ELFMAG3)) {
                /* Not an ELF file - silently ignore it */
                return 0;
        }

We have the full analysis in the final link stage anyway, so we would
not miss the section mismatching.

I do not see a good reason to require extra linking only for the
purpose of the per-directory analysis.  Just get rid of this part.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/Makefile.build

index 316cb95d7ff2ff885e5d138d422c460e42887ac7..66461e9323b4cf759771123a68318c8ed91a5f8c 100644 (file)
@@ -456,8 +456,7 @@ quiet_cmd_link_o_target = AR      $@
 
 # If the list of objects to link is empty, just create an empty built-in.a
 cmd_link_o_target = $(if $(strip $(real-obj-y)),\
-                     $(cmd_make_builtin) $@ $(filter $(real-obj-y), $^) \
-                     $(cmd_secanalysis),\
+                     $(cmd_make_builtin) $@ $(filter $(real-obj-y), $^), \
                      $(cmd_make_empty_builtin) $@)
 
 $(builtin-target): $(real-obj-y) FORCE