Skip to content
Snippets Groups Projects
  1. Mar 25, 2018
  2. Mar 12, 2018
  3. Mar 04, 2018
  4. Mar 02, 2018
  5. Mar 01, 2018
    • Luc Van Oostenryck's avatar
      kbuild: disable sparse warnings about unknown attributes · 6c49f359
      Luc Van Oostenryck authored
      Currently, sparse issues warnings on code using an attribute
      it doesn't know about.
      
      One of the problem with this is that these warnings have no
      value for the developer, it's just noise for him. At best these
      warnings tell something about some deficiencies of sparse itself
      but not about a potential problem with code analyzed.
      
      A second problem with this is that sparse release are, alas,
      less frequent than new attributes are added to GCC.
      
      So, avoid the noise by asking sparse to not warn about
      attributes it doesn't know about.
      
      Reference: https://marc.info/?l=linux-sparse&m=151871600016790
      Reference: https://marc.info/?l=linux-sparse&m=151871725417322
      
      
      Signed-off-by: default avatarLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Tested-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      6c49f359
    • Ulf Magnusson's avatar
      Makefile: Fix lying comment re. silentoldconfig · 61277981
      Ulf Magnusson authored
      The comment above the silentoldconfig invocation is outdated.
      'make oldconfig' updates just .config and doesn't touch the
      include/config/ tree.
      
      This came up in https://lkml.org/lkml/2018/2/12/415
      
      .
      
      While fixing the comment, make it more informative by explaining the
      purpose of the unfortunately named silentoldconfig.
      
      I can't make sense of the comment re. auto.conf.cmd and a cleaned tree.
      include/config/auto.conf and include/config/auto.conf.cmd are both
      created simultaneously by silentoldconfig (in
      scripts/kconfig/confdata.c, by conf_write_autoconf()), and nothing seems
      to remove auto.conf.cmd that wouldn't remove auto.conf. Remove that part
      of the comment rather than blindly copying it. It might be a leftover
      from an older way of doing things.
      
      The include/config/auto.conf.cmd prerequisite might be there to ensure
      that silentoldconfig gets rerun if conf_write_autoconf() fails between
      writing out auto.conf.cmd and auto.conf (a comment in the function
      indicates that auto.conf is deliberately written out last to mark
      completion of the operation). It seems the Makefile dependency between
      include/config/auto.conf and .config would already take care of that
      though, since include/config/auto.conf would still be out of date re.
      .config if the operation fails.
      
      Cop out and leave the prerequisite in for now.
      
      Signed-off-by: default avatarUlf Magnusson <ulfalizer@gmail.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      61277981
  6. Feb 26, 2018
  7. Feb 21, 2018
  8. Feb 19, 2018
  9. Feb 11, 2018
  10. Feb 07, 2018
  11. Jan 28, 2018
  12. Jan 21, 2018
  13. Jan 14, 2018
  14. Jan 07, 2018
  15. Dec 31, 2017
  16. Dec 30, 2017
    • Linus Torvalds's avatar
      kbuild: add '-fno-stack-check' to kernel build options · 3ce120b1
      Linus Torvalds authored
      
      It appears that hardened gentoo enables "-fstack-check" by default for
      gcc.
      
      That doesn't work _at_all_ for the kernel, because the kernel stack
      doesn't act like a user stack at all: it's much smaller, and it doesn't
      auto-expand on use.  So the extra "probe one page below the stack" code
      generated by -fstack-check just breaks the kernel in horrible ways,
      causing infinite double faults etc.
      
      [ I have to say, that the particular code gcc generates looks very
        stupid even for user space where it works, but that's a separate
        issue.  ]
      
      Reported-and-tested-by: default avatarAlexander Tsoy <alexander@tsoy.me>
      Reported-and-tested-by: default avatarToralf Förster <toralf.foerster@gmx.de>
      Cc: stable@kernel.org
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3ce120b1
  17. Dec 24, 2017
  18. Dec 18, 2017
  19. Dec 16, 2017
  20. Dec 11, 2017
  21. Dec 06, 2017
  22. Dec 03, 2017
  23. Nov 27, 2017
  24. Nov 23, 2017
  25. Nov 18, 2017
    • Masahiro Yamada's avatar
      kbuild: create built-in.o automatically if parent directory wants it · f7adc312
      Masahiro Yamada authored
      
      "obj-y += foo/" syntax requires Kbuild to visit the "foo" subdirectory
      and link built-in.o from that directory.  This means foo/Makefile is
      responsible for creating built-in.o even if there is no object to
      link (in this case, built-in.o is an empty archive).
      
      We have had several fixups like commit 4b024242 ("kbuild: Fix
      linking error built-in.o no such file or directory"), then ended up
      with a complex condition as follows:
      
        ifneq ($(strip $(obj-y) $(obj-m) $(obj-) $(subdir-m) $(lib-target)),)
        builtin-target := $(obj)/built-in.o
        endif
      
      We still have more cases not covered by the above, so we need to add
        obj- := dummy.o
      in several places just for creating empty built-in.o.
      
      A key point is, the parent Makefile knows whether built-in.o is needed
      or not.  If a subdirectory needs to create built-in.o, its parent can
      tell the fact when descending.
      
      If non-empty $(need-builtin) flag is passed from the parent, built-in.o
      should be created.  $(obj-y) should be still checked to support the
      single target "%/".  All of ugly tricks will go away.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
      f7adc312
    • Bjørn Forsman's avatar
      kbuild: /bin/pwd -> pwd · 16f8259c
      Bjørn Forsman authored
      
      Most places use pwd and rely on $PATH lookup. Moving the remaining
      absolute path /bin/pwd users over for consistency.
      
      Also, a reason for doing /bin/pwd -> pwd instead of the other way around
      is because I believe build systems should make little assumptions on
      host filesystem layout. Case in point, we do this kind of patching
      already in NixOS.
      
      Ref. commit 028568d8
      ("kbuild: revert $(realpath ...) to $(shell cd ... && /bin/pwd)").
      
      Signed-off-by: default avatarBjørn Forsman <bjorn.forsman@gmail.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      16f8259c
    • Victor Chibotaru's avatar
      Makefile: support flag -fsanitizer-coverage=trace-cmp · d677a4d6
      Victor Chibotaru authored
      The flag enables Clang instrumentation of comparison operations
      (currently not supported by GCC).  This instrumentation is needed by the
      new KCOV device to collect comparison operands.
      
      Link: http://lkml.kernel.org/r/20171011095459.70721-2-glider@google.com
      
      
      Signed-off-by: default avatarVictor Chibotaru <tchibo@google.com>
      Signed-off-by: default avatarAlexander Potapenko <glider@google.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Alexander Popov <alex.popov@linux.com>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Vegard Nossum <vegard.nossum@oracle.com>
      Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
      Cc: <syzkaller@googlegroups.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d677a4d6
Loading