18 Jan, 2015

1 commit


12 Jan, 2015

1 commit


09 Jan, 2015

1 commit

  • The introduction of the uapi directories in v3.7-rc1 moved some of the
    generated headers from arch/*/include/generated to the uapi directory,
    keeping the #include directives intact.

    This creates a problem when bisecting, because the unversioned files are
    not cleaned automatically by git and the compiler might include stale
    headers as a result. Instead of cleaning them in the Makefiles, promote
    arch/*/include/generated/uapi in the search path. Under normal
    circumstances, there is no overlap between this uapi subdirectory and
    its parent, so the include choices remain the same. We keep
    arch/*/include/generated/uapi in the USERINCLUDE variable so that it is
    usable standalone.

    Note that we cannot completely swap the order of the uapi and
    kernel-only directories, since the headers in include/uapi/asm-generic
    are meant to be wrapped by their include/asm-generic counterparts when
    building kernel code.

    Reported-by: "Nicholas A. Bellinger"
    Reported-by: David Drysdale
    Signed-off-by: Michal Marek
    Signed-off-by: Linus Torvalds

    Michal Marek
     

06 Jan, 2015

1 commit


29 Dec, 2014

1 commit


21 Dec, 2014

2 commits

  • Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:
    "Here are the kbuild changes for v3.19-rc1:

    - Cleanups and deduplication in the main Makefile and
    scripts/Makefile.*
    - Sort the output of *config targets in make help
    - Old is always removed to avoid a surprise during
    bisecting
    - Warning fix in kconfig"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: remove redundant -rR flag of hdr-inst
    kbuild: Fix make help- on powerpc
    kbuild: Automatically remove stale file
    kconfig: Fix warning "‘jump’ may be used uninitialized"
    Makefile: sort list of defconfig targets in make help output
    kbuild: Remove duplicate $(cmd) definition in Makefile.clean
    kbuild: collect shorthands into scripts/Kbuild.include

    Linus Torvalds
     

08 Dec, 2014

1 commit


01 Dec, 2014

1 commit


28 Nov, 2014

3 commits


26 Nov, 2014

1 commit

  • The shorthand "clean" is defined in both the top Makefile and
    scripts/Makefile.clean. Likewise, the "hdr-inst" is defined in
    both the top Makefile and scripts/Makefile.headersinst.

    To reduce code duplication, this commit collects them into
    scripts/Kbuild.include like the "build" and "modbuiltin" shorthands.
    It requires scripts/Makefile.clean to include scripts/Kbuild.include,
    but its impact on the performance of "make clean" should be
    negligible.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

24 Nov, 2014

1 commit


17 Nov, 2014

1 commit


16 Nov, 2014

1 commit

  • Sasha Levin reports:
    "gcc5 changes the default standard to c11, which makes kernel build
    unhappy

    Explicitly define the kernel standard to be gnu89 which should keep
    everything working exactly like it was before gcc5"

    There are multiple small issues with the new default, but the biggest
    issue seems to be that the old - and very useful - GNU extension to
    allow a cast in front of an initializer has gone away.

    Patch updated by Kirill:
    "I'm pretty sure all gcc versions you can build kernel with supports
    -std=gnu89. cc-option is redunrant.

    We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me"

    Note by Andrew Pinski:
    "Yes it was reported and both problems relating to this extension has
    been added to gnu99 and gnu11. Though there are other issues with the
    kernel dealing with extern inline have different semantics between
    gnu89 and gnu99/11"

    End result: we may be able to move up to a newer stdc model eventually,
    but right now the newer models have some annoying deficiencies, so the
    traditional "gnu89" model ends up being the preferred one.

    Signed-off-by: Sasha Levin
    Singed-off-by: Kirill A. Shutemov
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

10 Nov, 2014

1 commit


03 Nov, 2014

1 commit


27 Oct, 2014

1 commit


20 Oct, 2014

1 commit


14 Oct, 2014

1 commit

  • Pull kbuild changes from Michal Marek:
    - fix for handling dependencies of *-objs targets by Masahiro Yamada
    - lots of cleanups in the kbuild machinery, also by Masahiro
    - fixes for the kconfig build to use an UTF-8 capable ncurses library
    if possible and to build on not-so-standard installs
    - some more minor fixes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Do not reference *-n variables in the Makefile
    kbuild: simplify build, clean, modbuiltin shorthands
    kbuild: arm: Do not define "comma" twice
    kbuild: remove obj-n and lib-n handling
    kbuild: remove unnecessary variable initializaions
    kbuild: remove unnecessary "obj- := dummy.o" trick
    kbuild: handle C=... and M=... after entering into build directory
    kbuild: use $(Q) for sub-make target
    kbuild: fake the "Entering directory ..." message more simply
    kconfig/lxdialog: get ncurses CFLAGS with pkg-config
    kconfig: nconfig: fix multi-byte UTF handling
    kconfig: lxdialog: fix spelling
    kbuild: Make scripts executable
    kbuild: remove redundant clean-files from scripts/kconfig/Makefile
    kbuild: refactor script/kconfig/Makefile
    kbuild: handle the dependency of multi-objs hostprogs appropriately
    kbuild: handle multi-objs dependency appropriately

    Linus Torvalds
     

08 Oct, 2014

2 commits

  • Pull documentation updates from Jiri Kosina:
    "Updates to kernel documentation.

    I took this over (hopefully temporarily) from Randy who was not
    willing to maintain it any longer. This pile mostly is a relay of
    queue that Randy already had in his tree"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/doc:
    Documentation: fix broken v4l-utils URL
    Documentation: update include path for mpssd
    Documentation: correct parameter error for dma_mapping_error
    MAINTAINERS: update location of linux-doc tree
    Documentation: remove networking/.gitignore
    tools: add more endian.h macros
    Make Documenation depend on headers_install
    Docs: this_cpu_ops: remove redundant add forms
    Documentation: disable vdso_test to avoid breakage with old glibc
    Documentation: update vDSO makefile to build portable examples
    Documentation: update .gitignore files
    Documentation: support glibc versions without htole macros
    v4l2-pci-skeleton: Only build if PCI is available
    Documentation: fix misc. warnings
    Documentation: make functions static to avoid prototype warnings
    Documentation: add makefiles for more targets
    Documentation: use subdir-y to avoid unnecessary built-in.o files

    Linus Torvalds
     
  • Pull module update from Rusty Russell:
    "Nothing major: support for compressing modules, and auto-tainting
    params.

    PS. My virtio-next tree is empty: DaveM took the patches I had. There
    might be a virtio-rng starvation fix, but so far it's a bit voodoo
    so I will get to that in the next two days or it will wait"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    moduleparam: Resolve missing-field-initializer warning
    kbuild: handle module compression while running 'make modules_install'.
    modinst: wrap long lines in order to enhance cmd_modules_install
    modsign: lookup lines ending in .ko in .mod files
    modpost: simplify file name generation of *.mod.c files
    modpost: reduce visibility of symbols and constify r/o arrays
    param: check for tainting before calling set op.
    drm/i915: taint the kernel if unsafe module parameters are set
    module: add module_param_unsafe and module_param_named_unsafe
    module: make it possible to have unsafe, tainting module params
    module: rename KERNEL_PARAM_FL_NOARG to avoid confusion

    Linus Torvalds
     

06 Oct, 2014

1 commit


02 Oct, 2014

5 commits


29 Sep, 2014

1 commit


26 Sep, 2014

1 commit

  • Cc: rdunlap@infradead.org
    Cc: linux-doc@vger.kernel.org
    Cc: sudeep.dutt@intel.com
    Cc: nikhil.rao@intel.com
    Cc: ashutosh.dixit@intel.com
    Cc: akpm@linux-foundation.org
    Cc: gregkh@linuxfoundation.org
    Signed-off-by: Peter Foley
    Signed-off-by: Jiri Kosina

    Peter Foley
     

22 Sep, 2014

1 commit


15 Sep, 2014

1 commit


08 Sep, 2014

1 commit


01 Sep, 2014

1 commit


27 Aug, 2014

1 commit

  • Since module-init-tools (gzip) and kmod (gzip and xz) support compressed
    modules, it could be useful to include a support for compressing modules
    right after having them installed. Doing this in kbuild instead of per
    distro can permit to make this kind of usage more generic.

    This patch add a Kconfig entry to "Enable loadable module support" menu
    and let you choose to compress using gzip (default) or xz.

    Both gzip and xz does not used any extra -[1-9] option since Andi Kleen
    and Rusty Russell prove no gain is made using them. gzip is called with -n
    argument to avoid storing original filename inside compressed file, that
    way we can save some more bytes.

    On a v3.16 kernel, 'make allmodconfig' generated 4680 modules for a
    total of 378MB (no strip, no sign, no compress), the following table
    shows observed disk space gain based on the allmodconfig .config :

    | time |
    +-------------+-----------------+
    | manual .ko | make | size | percent
    | compression | modules_install | | gain
    +-------------+-----------------+------+--------
    - | | 18.61s | 378M |
    GZIP | 3m16s | 3m37s | 102M | 73.41%
    XZ | 5m22s | 5m39s | 77M | 79.83%

    The gain for restricted environnement seems to be interesting while
    uncompress can be time consuming but happens only while loading a module,
    that is generally done only once.

    This is fully compatible with signed modules while the signed module is
    compressed. module-init-tools or kmod handles decompression
    and provide to other layer the uncompressed but signed payload.

    Reviewed-by: Willy Tarreau
    Signed-off-by: Bertrand Jacquin
    Signed-off-by: Rusty Russell

    Bertrand Jacquin
     

26 Aug, 2014

1 commit


17 Aug, 2014

1 commit


15 Aug, 2014

2 commits

  • Pull misc kbuild updates from Michal Marek:
    "This is the non-critical part of kbuild for 3.17-rc1:

    - make help hint to use make -s with make kernelrelease et al.
    - moved a kbuild document to Documentation/kbuild where it belongs
    - four new Coccinelle scripts, one dropped and one fixed
    - new make kselftest target to run various tests on the kernel"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: kselftest - new make target to build and run kernel selftests
    Coccinelle: Script to replace if and BUG with BUG_ON
    Coccinelle: Script to detect incorrect argument to sizeof
    Coccinelle: Script to use ARRAY_SIZE instead of division of two sizeofs
    Coccinelle: Script to detect cast after memory allocation
    coccinelle/null: solve parse error
    Documentation: headers_install.txt is part of kbuild
    kbuild: make -s should be used with kernelrelease/kernelversion/image_name

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:
    - make clean also considers $(extra-m) and $(extra-) to be consistent
    - cleanup and fixes in scripts/Makefile.host
    - allow to override the name of the Python 2 executable with make
    PYTHON=... (only needed for ia64 in practice)
    - option to split debugingo into *.dwo files to save disk space if the
    compiler supports it (CONFIG_DEBUG_INFO_SPLIT)
    - option to use dwarf4 debuginfo if the compiler supports it
    (CONFIG_DEBUG_INFO_DWARF4)
    - fix for disabling certain warnings with clang
    - fix for unneeded rebuild with dash when a command contains
    backslashes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Fix handling of backslashes in *.cmd files
    kbuild, LLVMLinux: Supress warnings unless W=1-3
    Kbuild: Add a option to enable dwarf4 v2
    kbuild: Support split debug info v4
    kbuild: allow to override Python command name
    kbuild: clean-up and bug fix of scripts/Makefile.host
    kbuild: clean up scripts/Makefile.host
    kbuild: drop shared library support from Makefile.host
    kbuild: fix a bug of C++ host program handling
    kbuild: fix a typo in scripts/Makefile.host
    scripts/Makefile.clean: clean also $(extra-m) and $(extra-)

    Linus Torvalds