lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 344/376] kbuild: force to build vmlinux if CONFIG_MODVERSION=y
    Date
    From: Masahiro Yamada <masahiroy@kernel.org>

    commit 4b50c8c4eaf06a825d1c005c0b1b4a8307087b83 upstream.

    This code does not work as stated in the comment.

    $(CONFIG_MODVERSIONS) is always empty because it is expanded before
    include/config/auto.conf is included. Hence, 'make modules' with
    CONFIG_MODVERSION=y cannot record the version CRCs.

    This has been broken since 2003, commit ("kbuild: Enable modules to be
    build using the "make dir/" syntax"). [1]

    [1]: https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit/?id=15c6240cdc44bbeef3c4797ec860f9765ef4f1a7
    Cc: linux-stable <stable@vger.kernel.org> # v2.5.71+
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    Makefile | 13 ++++++++-----
    1 file changed, 8 insertions(+), 5 deletions(-)

    --- a/Makefile
    +++ b/Makefile
    @@ -608,12 +608,8 @@ KBUILD_MODULES :=
    KBUILD_BUILTIN := 1

    # If we have only "make modules", don't compile built-in objects.
    -# When we're building modules with modversions, we need to consider
    -# the built-in objects during the descend as well, in order to
    -# make sure the checksums are up to date before we record them.
    -
    ifeq ($(MAKECMDGOALS),modules)
    - KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1)
    + KBUILD_BUILTIN :=
    endif

    # If we have "make <whatever> modules", compile modules
    @@ -1315,6 +1311,13 @@ ifdef CONFIG_MODULES

    all: modules

    +# When we're building modules with modversions, we need to consider
    +# the built-in objects during the descend as well, in order to
    +# make sure the checksums are up to date before we record them.
    +ifdef CONFIG_MODVERSIONS
    + KBUILD_BUILTIN := 1
    +endif
    +
    # Build modules
    #
    # A module can be listed more than once in obj-m resulting in

    \
     
     \ /
      Last update: 2020-06-19 17:55    [W:2.063 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site