1. 22 6月, 2019 2 次提交
  2. 19 6月, 2019 1 次提交
  3. 18 6月, 2019 1 次提交
  4. 15 6月, 2019 1 次提交
  5. 11 6月, 2019 1 次提交
  6. 09 6月, 2019 1 次提交
  7. 04 6月, 2019 2 次提交
  8. 31 5月, 2019 1 次提交
  9. 26 5月, 2019 1 次提交
  10. 22 5月, 2019 2 次提交
    • G
      Linux 4.19.45 · c3a07259
      Greg Kroah-Hartman 提交于
      c3a07259
    • M
      kbuild: turn auto.conf.cmd into a mandatory include file · 98bdd338
      Masahiro Yamada 提交于
      commit d2f8ae0e4c5c754f1b2a7b8388d19a1a977e698a upstream.
      
      syncconfig is responsible for keeping auto.conf up-to-date, so if it
      fails for any reason, the build must be terminated immediately.
      
      However, since commit 9390dff66a52 ("kbuild: invoke syncconfig if
      include/config/auto.conf.cmd is missing"), Kbuild continues running
      even after syncconfig fails.
      
      You can confirm this by intentionally making syncconfig error out:
      
      #  diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
      #  index 08ba146..307b9de 100644
      #  --- a/scripts/kconfig/confdata.c
      #  +++ b/scripts/kconfig/confdata.c
      #  @@ -1023,6 +1023,9 @@ int conf_write_autoconf(int overwrite)
      #          FILE *out, *tristate, *out_h;
      #          int i;
      #
      #  +       if (overwrite)
      #  +               return 1;
      #  +
      #          if (!overwrite && is_present(autoconf_name))
      #                  return 0;
      
      Then, syncconfig fails, but Make would not stop:
      
        $ make -s mrproper allyesconfig defconfig
        $ make
        scripts/kconfig/conf  --syncconfig Kconfig
      
        *** Error during sync of the configuration.
      
        make[2]: *** [scripts/kconfig/Makefile;69: syncconfig] Error 1
        make[1]: *** [Makefile;557: syncconfig] Error 2
        make: *** [include/config/auto.conf.cmd] Deleting file 'include/config/tristate.conf'
        make: Failed to remake makefile 'include/config/auto.conf'.
          SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
          SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
          SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
          SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
        [ continue running ... ]
      
      The reason is in the behavior of a pattern rule with multi-targets.
      
        %/auto.conf %/auto.conf.cmd %/tristate.conf: $(KCONFIG_CONFIG)
                $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
      
      GNU Make knows this rule is responsible for making all the three files
      simultaneously. As far as examined, auto.conf.cmd is the target in
      question when this rule is invoked. It is probably because auto.conf.cmd
      is included below the inclusion of auto.conf.
      
      The inclusion of auto.conf is mandatory, while that of auto.conf.cmd
      is optional. GNU Make does not care about the failure in the process
      of updating optional include files.
      
      I filed this issue (https://savannah.gnu.org/bugs/?56301) in case this
      behavior could be improved somehow in future releases of GNU Make.
      Anyway, it is quite easy to fix our Makefile.
      
      Given that auto.conf is already a mandatory include file, there is no
      reason to stick auto.conf.cmd optional. Make it mandatory as well.
      
      Cc: linux-stable <stable@vger.kernel.org> # 5.0+
      Fixes: 9390dff66a52 ("kbuild: invoke syncconfig if include/config/auto.conf.cmd is missing")
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      [commented out diff above to keep patch happy - gregkh]
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      98bdd338
  11. 17 5月, 2019 1 次提交
  12. 15 5月, 2019 1 次提交
  13. 10 5月, 2019 1 次提交
  14. 08 5月, 2019 1 次提交
  15. 05 5月, 2019 1 次提交
  16. 04 5月, 2019 1 次提交
  17. 02 5月, 2019 1 次提交
  18. 27 4月, 2019 2 次提交
  19. 20 4月, 2019 1 次提交
  20. 17 4月, 2019 2 次提交
  21. 06 4月, 2019 2 次提交
    • G
      Linux 4.19.34 · 4d552acf
      Greg Kroah-Hartman 提交于
      4d552acf
    • M
      kbuild: invoke syncconfig if include/config/auto.conf.cmd is missing · 638ecaf5
      Masahiro Yamada 提交于
      [ Upstream commit 9390dff66a52d1a60c6e517d8fa6cdbdffc83cb1 ]
      
      If include/config/auto.conf.cmd is lost for some reasons, it is not
      self-healing, so the top Makefile misses to run syncconfig.
      Move include/config/auto.conf.cmd to the target side.
      
      I used a pattern rule instead of a normal rule here although it is
      a bit gross.
      
      If the rule were written with a normal rule like this,
      
        include/config/auto.conf \
        include/config/auto.conf.cmd \
        include/config/tristate.conf: $(KCONFIG_CONFIG)
                $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
      
      ... syncconfig would be executed per target.
      
      Using a pattern rule makes sure that syncconfig is executed just once
      because Make assumes the recipe will create all of the targets.
      
      Here is a quote from the GNU Make manual [1]:
      
      "Pattern rules may have more than one target. Unlike normal rules,
      this does not act as many different rules with the same prerequisites
      and recipe. If a pattern rule has multiple targets, make knows that
      the rule's recipe is responsible for making all of the targets. The
      recipe is executed only once to make all the targets. When searching
      for a pattern rule to match a target, the target patterns of a rule
      other than the one that matches the target in need of a rule are
      incidental: make worries only about giving a recipe and prerequisites
      to the file presently in question. However, when this file's recipe is
      run, the other targets are marked as having been updated themselves."
      
      [1]: https://www.gnu.org/software/make/manual/html_node/Pattern-Intro.htmlSigned-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: NSasha Levin <sashal@kernel.org>
      638ecaf5
  22. 03 4月, 2019 2 次提交
  23. 27 3月, 2019 1 次提交
  24. 24 3月, 2019 1 次提交
  25. 19 3月, 2019 1 次提交
  26. 14 3月, 2019 1 次提交
  27. 10 3月, 2019 1 次提交
  28. 06 3月, 2019 1 次提交
  29. 27 2月, 2019 1 次提交
  30. 23 2月, 2019 1 次提交
  31. 20 2月, 2019 1 次提交
  32. 15 2月, 2019 2 次提交