21 Aug, 2017

1 commit


14 Aug, 2017

1 commit


07 Aug, 2017

1 commit


31 Jul, 2017

1 commit


24 Jul, 2017

1 commit


16 Jul, 2017

1 commit


14 Jul, 2017

1 commit

  • Pull more Kbuild updates from Masahiro Yamada:

    - Move generic-y of exported headers to uapi/asm/Kbuild for complete
    de-coupling of UAPI

    - Clean up scripts/Makefile.headersinst

    - Fix host programs for 32 bit machine with XFS file system

    * tag 'kbuild-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (29 commits)
    kbuild: Enable Large File Support for hostprogs
    kbuild: remove wrapper files handling from Makefile.headersinst
    kbuild: split exported generic header creation into uapi-asm-generic
    kbuild: do not include old-kbuild-file from Makefile.headersinst
    xtensa: move generic-y of exported headers to uapi/asm/Kbuild
    unicore32: move generic-y of exported headers to uapi/asm/Kbuild
    tile: move generic-y of exported headers to uapi/asm/Kbuild
    sparc: move generic-y of exported headers to uapi/asm/Kbuild
    sh: move generic-y of exported headers to uapi/asm/Kbuild
    parisc: move generic-y of exported headers to uapi/asm/Kbuild
    openrisc: move generic-y of exported headers to uapi/asm/Kbuild
    nios2: move generic-y of exported headers to uapi/asm/Kbuild
    nios2: remove unneeded arch/nios2/include/(generated/)asm/signal.h
    microblaze: move generic-y of exported headers to uapi/asm/Kbuild
    metag: move generic-y of exported headers to uapi/asm/Kbuild
    m68k: move generic-y of exported headers to uapi/asm/Kbuild
    m32r: move generic-y of exported headers to uapi/asm/Kbuild
    ia64: remove redundant generic-y += kvm_para.h from asm/Kbuild
    hexagon: move generic-y of exported headers to uapi/asm/Kbuild
    h8300: move generic-y of exported headers to uapi/asm/Kbuild
    ...

    Linus Torvalds
     

13 Jul, 2017

1 commit

  • I made the mistake of upgrading my desktop to the new Fedora 26 that
    comes with gcc-7.1.1.

    There's nothing wrong per se that I've noticed, but I now have 1500
    lines of warnings, mostly from the new format-truncation warning
    triggering all over the tree.

    We use 'snprintf()' and friends in a lot of places, and often know that
    the numbers are fairly small (ie a controller index or similar), but gcc
    doesn't know that, and sees an 'int', and thinks that it could be some
    huge number. And then complains when our buffers are not able to fit
    the name for the ten millionth controller.

    These warnings aren't necessarily bad per se, and we probably want to
    look through them subsystem by subsystem, but at least during the merge
    window they just mean that I can't even see if somebody is introducing
    any *real* problems when I pull.

    So warnings disabled for now.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

11 Jul, 2017

2 commits


10 Jul, 2017

2 commits


08 Jul, 2017

2 commits

  • …/masahiroy/linux-kbuild

    Pull Kbuild thin archives updates from Masahiro Yamada:
    "Thin archives migration by Nicholas Piggin.

    THIN_ARCHIVES has been available for a while as an optional feature
    only for PowerPC architecture, but we do not need two different
    intermediate-artifact schemes.

    Using thin archives instead of conventional incremental linking has
    various advantages:

    - save disk space for builds

    - speed-up building a little

    - fix some link issues (for example, allyesconfig on ARM) due to more
    flexibility for the final linking

    - work better with dead code elimination we are planning

    As discussed before, this migration has been done unconditionally so
    that any problems caused by this will show up with "git bisect".

    With testing with 0-day and linux-next, some architectures actually
    showed up problems, but they were trivial and all fixed now"

    * tag 'kbuild-thinar-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    tile: remove unneeded extra-y in Makefile
    kbuild: thin archives make default for all archs
    x86/um: thin archives build fix
    tile: thin archives fix linking
    ia64: thin archives fix linking
    sh: thin archives fix linking
    kbuild: handle libs-y archives separately from built-in.o archives
    kbuild: thin archives use P option to ar
    kbuild: thin archives final link close --whole-archives option
    ia64: remove unneeded extra-y in Makefile.gate
    tile: fix dependency and .*.cmd inclusion for incremental build
    sparc64: Use indirect calls in hamming weight stubs

    Linus Torvalds
     
  • Pull Kbuild updates from Masahiro Yamada:

    - Clean up Makefiles and scripts

    - Improve clang support

    - Remove unneeded genhdr-y syntax

    - Remove unneeded cc-option-align macro

    - Introduce __cc-option macro and use it to fix x86 boot code compiler
    flags

    * tag 'kbuild-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: improve comments on KBUILD_SRC
    x86/build: Specify stack alignment for clang
    x86/build: Use __cc-option for boot code compiler options
    kbuild: Add __cc-option macro
    kbuild: remove cc-option-align
    kbuild: replace genhdr-y with generated-y
    kbuild: clang: Disable 'address-of-packed-member' warning
    kbuild: remove duplicated arch/*/include/generated/uapi include path
    kbuild: speed up checksyscalls.sh
    kbuild: simplify silent build (-s) detection

    Linus Torvalds
     

04 Jul, 2017

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "There has been a fair amount of activity in the docs tree this time
    around. Highlights include:

    - Conversion of a bunch of security documentation into RST

    - The conversion of the remaining DocBook templates by The Amazing
    Mauro Machine. We can now drop the entire DocBook build chain.

    - The usual collection of fixes and minor updates"

    * tag 'docs-4.13' of git://git.lwn.net/linux: (90 commits)
    scripts/kernel-doc: handle DECLARE_HASHTABLE
    Documentation: atomic_ops.txt is core-api/atomic_ops.rst
    Docs: clean up some DocBook loose ends
    Make the main documentation title less Geocities
    Docs: Use kernel-figure in vidioc-g-selection.rst
    Docs: fix table problems in ras.rst
    Docs: Fix breakage with Sphinx 1.5 and upper
    Docs: Include the Latex "ifthen" package
    doc/kokr/howto: Only send regression fixes after -rc1
    docs-rst: fix broken links to dynamic-debug-howto in kernel-parameters
    doc: Document suitability of IBM Verse for kernel development
    Doc: fix a markup error in coding-style.rst
    docs: driver-api: i2c: remove some outdated information
    Documentation: DMA API: fix a typo in a function name
    Docs: Insert missing space to separate link from text
    doc/ko_KR/memory-barriers: Update control-dependencies example
    Documentation, kbuild: fix typo "minimun" -> "minimum"
    docs: Fix some formatting issues in request-key.rst
    doc: ReSTify keys-trusted-encrypted.txt
    doc: ReSTify keys-request-key.txt
    ...

    Linus Torvalds
     

03 Jul, 2017

2 commits


30 Jun, 2017

1 commit

  • The thin archives build currently puts all lib.a and built-in.o
    files together and links them with --whole-archive.

    This works because thin archives can recursively refer to thin
    archives. However some architectures include libgcc.a, which may
    not be a thin archive, or it may not be constructed with the "P"
    option, in which case its contents do not get linked correctly.

    So don't pull .a libs into the root built-in.o archive. These
    libs should already have symbol tables and indexes built, so they
    can be direct linker inputs. Move them out of the --whole-archive
    option, which restore the conditional linking behaviour of lib.a
    to thin archives builds.

    Signed-off-by: Nicholas Piggin
    Signed-off-by: Masahiro Yamada

    Nicholas Piggin
     

26 Jun, 2017

1 commit


25 Jun, 2017

2 commits

  • cc-option uses KBUILD_CFLAGS and KBUILD_CPPFLAGS when it determines
    whether an option is supported or not. This is fine for options used to
    build the kernel itself, however some components like the x86 boot code
    use a different set of flags.

    Add the new macro __cc-option which is a more generic version of
    cc-option with additional parameters. One parameter is the compiler
    with which the check should be performed, the other the compiler options
    to be used instead KBUILD_C*FLAGS.

    Refactor cc-option and hostcc-option to use __cc-option and move
    hostcc-option to scripts/Kbuild.include.

    Suggested-by: Arnd Bergmann
    Suggested-by: Masahiro Yamada
    Signed-off-by: Matthias Kaehlcke
    Acked-by: Arnd Bergmann
    Acked-by: Michal Marek
    Signed-off-by: Masahiro Yamada

    Matthias Kaehlcke
     
  • …t/masahiroy/linux-kbuild

    Pull Kbuild fixes from Masahiro Yamada:
    "Nothing scary, just some random fixes:

    - fix warnings of host programs

    - fix "make tags" when COMPILED_SOURCE=1 is specified along with O=

    - clarify help message of C=1 option

    - fix dependency for ncurses compatibility check

    - fix "make headers_install" for fakechroot environment"

    * tag 'kbuild-fixes-v4.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kconfig: fix sparse warnings in nconfig
    kbuild: fix header installation under fakechroot environment
    kconfig: Check for libncurses before menuconfig
    Kbuild: tiny correction on `make help`
    tags: honor COMPILED_SOURCE with apart output directory
    genksyms: add printf format attribute to error_with_pos()

    Linus Torvalds
     

24 Jun, 2017

1 commit


22 Jun, 2017

1 commit


19 Jun, 2017

1 commit


12 Jun, 2017

1 commit


10 Jun, 2017

1 commit

  • Commit 90ac086bca10 ("Makefile: include arch/*/include/generated/uapi
    before .../generated") introduced this for bisect'ability. The commit
    chose to promote arch/*/include/generated/uapi in the search path
    rather than cleaning stale headers.

    After all, we found that approach was not enough, and ended up with
    cleaning stale headers by commit cda2c65f981d ("kbuild: Remove stale
    asm-generic wrappers").

    So, the extra search path is no longer needed because Kbuild invokes
    scripts/Makefile.asm-generic and remove stale headers before it starts
    descending.

    This commit is also reverting commit dc33db7c338e ("Kbuild: avoid
    duplicate include path") because we have no more duplicated path.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

06 Jun, 2017

2 commits

  • The help info of `make C=1` is little confusing, make it clear.

    Signed-off-by: Cao jin
    Signed-off-by: Masahiro Yamada

    Cao jin
     
  • This allows to detect -s (--silent) option without checking GNU Make
    version.

    As commit e36aaea28972 ("kbuild: Fix silent builds with make-4")
    pointed out, GNU Make 4.x changed the way/order it presents the
    command line options into MAKEFLAGS.

    In Make 3.8x, 's' is always the first in a group of short options.
    The group may be prefixed with '-' in some cases.

    In Make 4.x, 's' is always the last in a group of short options.

    As commit e6ac89fabd03 ("kbuild: Correctly deal with make options
    which contain an 's'") addressed, we also need to deal with long
    options that contain 's', like --warn-undefined-variables.

    Test cases:

    [1] command line input: make --silent
    -> MAKEFLAGS for Make 3.8x: s
    -> MAKEFLAGS for Make 4.x : s

    [2] command line input: make -srR
    -> MAKEFLAGS for Make 3.8x: sRr
    -> MAKEFLAGS for Make 4.x : rRs

    [3] command line input: make -s -rR --warn-undefined-variables
    -> MAKEFLAGS for Make 3.8x: --warn-undefined-variables -sRr
    -> MAKEFLAGS for Make 4.x : rRs --warn-undefined-variables

    My idea to cater to all the cases more easily is to filter out long
    options (--%), then search 's' with $(findstring ...). This way will
    be more future-proof even if future versions of Make put 's' in the
    middle of the group.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

05 Jun, 2017

1 commit


29 May, 2017

1 commit


22 May, 2017

1 commit


19 May, 2017

1 commit

  • Mauro says:

    This patch series convert the remaining DocBooks to ReST.

    The first version was originally
    send as 3 patch series:

    [PATCH 00/36] Convert DocBook documents to ReST
    [PATCH 0/5] Convert more books to ReST
    [PATCH 00/13] Get rid of DocBook

    The lsm book was added as if it were a text file under
    Documentation. The plan is to merge it with another file
    under Documentation/security, after both this series and
    a security Documentation patch series gets merged.

    It also adjusts some Sphinx-pedantic errors/warnings on
    some kernel-doc markups.

    I also added some patches here to add PDF output for all
    existing ReST books.

    Jonathan Corbet
     

18 May, 2017

1 commit

  • Since commit 61562f981e92 ("uapi: export all arch specifics
    directories"), "make INSTALL_HDR_PATH=$root/usr headers_install"
    deletes standard glibc headers and others in $(root)/usr/include.

    The cause of the issue is that headers_install now starts descending
    from arch/$(hdr-arch)/include/uapi with $(root)/usr/include for its
    destination when installing asm headers. So, headers already there
    are assumed to be unwanted.

    When headers_install starts descending from include/uapi with
    $(root)/usr/include for its destination, it works around the problem
    by creating an dummy destination $(root)/usr/include/uapi, but this
    is tricky.

    To fix the problem in a clean way is to skip headers install/check
    in include/uapi and arch/$(hdr-arch)/include/uapi because we know
    there are only sub-directories in uapi directories. A good side
    effect is the empty destination $(root)/usr/include/uapi will go
    away.

    I am also removing the trailing slash in the headers_check target to
    skip checking in arch/$(hdr-arch)/include/uapi.

    Fixes: 61562f981e92 ("uapi: export all arch specifics directories")
    Reported-by: Dan Williams
    Signed-off-by: Masahiro Yamada
    Tested-by: Dan Williams
    Acked-by: Nicolas Dichtel

    Masahiro Yamada
     

16 May, 2017

1 commit


14 May, 2017

1 commit


11 May, 2017

2 commits

  • …asahiroy/linux-kbuild

    Pull Kbuild UAPI updates from Masahiro Yamada:
    "Improvement of headers_install by Nicolas Dichtel.

    It has been long since the introduction of uapi directories, but the
    de-coupling of exported headers has not been completed. Headers listed
    in header-y are exported whether they exist in uapi directories or
    not. His work fixes this inconsistency.

    All (and only) headers under uapi directories are now exported. The
    asm-generic wrappers are still exceptions, but this is a big step
    forward"

    * tag 'kbuild-uapi-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    arch/include: remove empty Kbuild files
    uapi: export all arch specifics directories
    uapi: export all headers under uapi directories
    smc_diag.h: fix include from userland
    btrfs_tree.h: fix include from userland
    uapi: includes linux/types.h before exporting files
    Makefile.headersinst: remove destination-y option
    Makefile.headersinst: cleanup input files
    x86: stop exporting msr-index.h to userland
    nios2: put setup.h in uapi
    h8300: put bitsperlong.h in uapi

    Linus Torvalds
     
  • Pull Kbuild updates from Masahiro Yamada:

    - improve Clang support

    - clean up various Makefiles

    - improve build log visibility (objtool, alpha, ia64)

    - improve compiler flag evaluation for better build performance

    - fix GCC version-dependent warning

    - fix genksyms

    * tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (23 commits)
    kbuild: dtbinst: remove unnecessary __dtbs_install_prep target
    ia64: beatify build log for gate.so and gate-syms.o
    alpha: make short build log available for division routines
    alpha: merge build rules of division routines
    alpha: add $(src)/ rather than $(obj)/ to make source file path
    Makefile: evaluate LDFLAGS_BUILD_ID only once
    objtool: make it visible in make V=1 output
    kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS
    kbuild: Add support to generate LLVM assembly files
    kbuild: Add better clang cross build support
    kbuild: drop -Wno-unknown-warning-option from clang options
    kbuild: fix asm-offset generation to work with clang
    kbuild: consolidate redundant sed script ASM offset generation
    frv: Use OFFSET macro in DEF_*REG()
    kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7
    kbuild: Consolidate header generation from ASM offset information
    kbuild: use -Oz instead of -Os when using clang
    kbuild, LLVMLinux: Add -Werror to cc-option to support clang
    Kbuild: make designated_init attribute fatal
    kbuild: drop unneeded patterns '.*.orig' and '.*.rej' from distclean
    ...

    Linus Torvalds
     

10 May, 2017

1 commit

  • This patch removes the need of subdir-y. Now all files/directories under
    arch//include/uapi/ are exported.

    The only change for userland is the layout of the command 'make
    headers_install_all': directories asm- are replaced by arch-/.
    Those new directories contains all files/directories of the specified arch.

    Note that only cris and tile have more directories than only asm:
    - arch-v[10|32] for cris;
    - arch for tile.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: Masahiro Yamada

    Nicolas Dichtel
     

09 May, 2017

1 commit

  • Add a top-level Makefile help target for Userspace tools.

    Also make each help "heading" end with a colon ':'.

    Link: http://lkml.kernel.org/r/55c986ff-3966-3e47-2984-7349da2cce51@infradead.org
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

03 May, 2017

1 commit

  • Evaluate LDFLAGS_BUILD_ID (which involves invoking the compiler) only
    once instead of over and over.

    This provides a ~20% reduction in null build time with x86 allnoconfig:

    $ make allnoconfig && make -j8
    $ perf stat -r5 -e sched:sched_process_exec make -j8
    - 2 119 sched:sched_process_exec
    + 1 878 sched:sched_process_exec

    - 1,238817018 seconds time elapsed
    + 0,971020553 seconds time elapsed

    Signed-off-by: Rabin Vincent
    Signed-off-by: Masahiro Yamada

    Rabin Vincent