02 Jun, 2014

1 commit


26 May, 2014

1 commit


22 May, 2014

1 commit


10 May, 2014

1 commit


05 May, 2014

1 commit


28 Apr, 2014

1 commit


21 Apr, 2014

1 commit


14 Apr, 2014

1 commit


13 Apr, 2014

1 commit

  • Pull misc kbuild changes from Michal Marek:
    "Here is the non-critical part of kbuild:
    - One bogus coccinelle check removed, one check fixed not to suggest
    the obsolete PTR_RET macro
    - scripts/tags.sh does not index the generated *.mod.c files
    - new objdiff tool to list differences between two versions of an
    object file
    - A fix for scripts/bootgraph.pl"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts/coccinelle: Use PTR_ERR_OR_ZERO
    scripts/bootgraph.pl: Add graphic header
    scripts: objdiff: detect object code changes between two commits
    Coccicheck: Remove memcpy to struct assignment test
    scripts/tags.sh: Ignore *.mod.c

    Linus Torvalds
     

10 Apr, 2014

1 commit

  • Add support to toplevel Makefile for compiling with clang, both for
    HOSTCC and CC. Use cc-option to prevent gcc option from breaking clang, and
    from clang options from breaking gcc.

    Clang 3.4 semantics are the same as gcc semantics for unsupported flags. For
    unsupported warnings clang 3.4 returns true but shows a warning and gcc shows
    a warning and returns false.

    Signed-off-by: Behan Webster
    Signed-off-by: Jan-Simon Möller
    Signed-off-by: Mark Charlebois
    Cc: PaX Team

    Behan Webster
     

08 Apr, 2014

2 commits

  • objdiff is useful when doing large code cleanups. For example, when
    removing checkpatch warnings and errors from new drivers in the staging
    tree.

    objdiff can be used in conjunction with a git rebase to confirm that
    each commit made no changes to the resulting object code. It has the
    same return values as diff(1).

    This was written specifically to support adding the skein and threefish
    cryto drivers to the staging tree. I needed a programmatic way to
    confirm that commits changing >90% of the lines didn't inadvertently
    change the code.

    Temporary files (objdump output) are stored in

    /path/to/linux/.tmp_objdiff

    'make mrproper' will remove this directory.

    Signed-off-by: Jason Cooper
    Signed-off-by: Michal Marek

    Jason Cooper
     
  • Pull kbuild changes from Michal Marek:
    - cleanups in the main Makefiles and Documentation/DocBook/Makefile
    - make O=... directory is automatically created if needed
    - mrproper/distclean removes the old include/linux/version.h to make
    life easier when bisecting across the commit that moved the version.h
    file

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: docbook: fix the include error when executing "make help"
    kbuild: create a build directory automatically for out-of-tree build
    kbuild: remove redundant '.*.cmd' pattern from make distclean
    kbuild: move "quote" to Kbuild.include to be consistent
    kbuild: docbook: use $(obj) and $(src) rather than specific path
    kbuild: unconditionally clobber include/linux/version.h on distclean
    kbuild: docbook: specify KERNELDOC dependency correctly
    kbuild: docbook: include cmd files more simply
    kbuild: specify build_docproc as a phony target

    Linus Torvalds
     

03 Apr, 2014

1 commit

  • Pull devicetree changes from Grant Likely:
    "Updates to devicetree core code. This branch contains the following
    notable changes:

    - add reserved memory binding
    - make struct device_node a kobject and remove legacy
    /proc/device-tree
    - ePAPR conformance fixes
    - update in-kernel DTC copy to version v1.4.0
    - preparatory changes for dynamic device tree overlays
    - minor bug fixes and documentation changes

    The most significant change in this branch is the conversion of struct
    device_node to be a kobject that is exposed via sysfs and removal of
    the old /proc/device-tree code. This simplifies the device tree
    handling code and tightens up the lifecycle on device tree nodes.

    [updated: added fix for dangling select PROC_DEVICETREE]"

    * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux: (29 commits)
    dt: Remove dangling "select PROC_DEVICETREE"
    of: Add support for ePAPR "stdout-path" property
    of: device_node kobject lifecycle fixes
    of: only scan for reserved mem when fdt present
    powerpc: add support for reserved memory defined by device tree
    arm64: add support for reserved memory defined by device tree
    of: add missing major vendors
    of: add vendor prefix for SMSC
    of: remove /proc/device-tree
    of/selftest: Add self tests for manipulation of properties
    of: Make device nodes kobjects so they show up in sysfs
    arm: add support for reserved memory defined by device tree
    drivers: of: add support for custom reserved memory drivers
    drivers: of: add initialization code for dynamic reserved memory
    drivers: of: add initialization code for static reserved memory
    of: document bindings for reserved-memory nodes
    Revert "of: fix of_update_property()"
    kbuild: dtbs_install: new make target
    ARM: mvebu: Allows to get the SoC ID even without PCI enabled
    of: Allows to use the PCI translator without the PCI core
    ...

    Linus Torvalds
     

01 Apr, 2014

2 commits


31 Mar, 2014

2 commits


30 Mar, 2014

1 commit

  • As of v3.7, the UAPI changes relocated headers around such that the
    kernel version header lived in a new place.

    If a person is bisecting and if you go back to pre-UAPI days,
    you will create an include/linux/version.h -- then if you checkout a
    post-UAPI kernel, and even run "make distclean" it still won't delete
    that old version file. So you get a situation like this:

    $ grep -R LINUX_VERSION_CODE include/
    include/generated/uapi/linux/version.h:#define LINUX_VERSION_CODE 200192
    include/linux/version.h:#define LINUX_VERSION_CODE 132646

    The value in that second line is representative of a v2.6.38 version.
    And it will be sourced/used, hence leading to strange behaviours, such
    as drivers/staging content (which typically hasn't been purged of version
    ifdefs) failing to build.

    Since it is a subtle mode of failure, lets always clobber the old
    file when doing a distclean.

    Signed-off-by: Paul Gortmaker
    Acked-by: David Howells
    Signed-off-by: Michal Marek

    Paul Gortmaker
     

25 Mar, 2014

1 commit


17 Mar, 2014

1 commit


10 Mar, 2014

1 commit


04 Mar, 2014

1 commit


03 Mar, 2014

1 commit


26 Feb, 2014

2 commits

  • According to Documentation/Changes, make 3.80 is still being supported
    for building the kernel, hence make files must not make (unconditional)
    use of features introduced only in newer versions. Commit 8779657d29c0
    ("stackprotector: Introduce CONFIG_CC_STACKPROTECTOR_STRONG") however
    introduced an "else ifdef" construct which make 3.80 doesn't understand.

    Also correct a warning message still referencing the old config option
    name.

    Apart from that I question the use of "ifdef" here (but it was used that
    way already prior to said commit): ifeq (,y) would seem more to the
    point.

    Signed-off-by: Jan Beulich
    Acked-by: Kees Cook
    Cc: Ingo Molnar
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • An extra parenthesis typo introduced in 19952a92037e ("stackprotector:
    Unify the HAVE_CC_STACKPROTECTOR logic between architectures") is
    causing the following error when CONFIG_CC_STACKPROTECTOR_REGULAR is
    enabled:

    Makefile:608: Cannot use CONFIG_CC_STACKPROTECTOR: -fstack-protector not supported by compiler
    Makefile:608: *** missing separator. Stop.

    Signed-off-by: Fathi Boudra
    Acked-by: Kees Cook
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fathi Boudra
     

24 Feb, 2014

1 commit


20 Feb, 2014

1 commit

  • Unlike other build products in the Linux kernel, there is no 'make
    *install' mechanism to put devicetree blobs in a standard place.

    This commit adds a new 'dtbs_install' make target which copies all of
    the dtbs into the INSTALL_DTBS_PATH directory. INSTALL_DTBS_PATH can be
    set before calling make to change the default install directory. If not
    set then it defaults to:

    $INSTALL_PATH/dtbs/$KERNELRELEASE.

    This is done to keep dtbs from different kernel versions separate until
    things have settled down. Once the dtbs are stable, and not so strongly
    linked to the kernel version, the devicetree files will most likely move
    to their own repo. Users will need to upgrade install scripts at that
    time.

    v7: (reworked by Grant Likely)
    - Moved rules from arch/arm/Makefile to arch/arm/boot/dts/Makefile so
    that each dtb install could have a separate target and be reported as
    part of the make output.
    - Fixed dependency problem to ensure $KERNELRELEASE is calculated before
    attempting to install
    - Removed option to call external script. Copying the files should be
    sufficient and a build system can post-process the install directory.
    Despite the fact an external script is used for installing the kernel,
    I don't think that is a pattern that should be encouraged. I would
    rather see buildroot type tools post process the install directory to
    rename or move dtb files after installing to a staging directory.
    - Plus it is easy to add a hook after the fact without blocking the
    rest of this feature.
    - Move the helper targets into scripts/Makefile.lib with the rest of the
    common dtb rules

    Signed-off-by: Jason Cooper
    Signed-off-by: Grant Likely
    Cc: Michal Marek
    Cc: Russell King
    Cc: Rob Herring

    Jason Cooper
     

17 Feb, 2014

1 commit


10 Feb, 2014

1 commit


06 Feb, 2014

1 commit

  • CONFIG_MODVERSIONS=y results in a .mod.c for every compiled file in the
    kernel. Issuing a 'make cscope' on a compiled kernel tree results in
    the cscope files containing *.mod.c files.

    [prarit@prarit linux]# make cscope
    [prarit@prarit linux]# cat cscope.files | grep mod.c | wc -l
    4807

    These files are not useful for cscope and should be ignored. For example,

    # line filename / context / line
    1 105 arch/x86/kvm/kvm-intel.mod.c <>
    { 0x618911fc, __VMLINUX_SYMBOL_STR(numa_node) },
    2 508 drivers/block/mtip32xx/mtip32xx.h <>
    int numa_node;
    3 55 drivers/block/mtip32xx/mtip32xx.mod.c <>
    { 0x618911fc, __VMLINUX_SYMBOL_STR(numa_node) },
    4 37 drivers/cpufreq/acpi-cpufreq.mod.c <>
    { 0x618911fc, __VMLINUX_SYMBOL_STR(numa_node) },

    Add an export to RCS_FIND_IGNORE so it can be used in scripts/tags.sh
    and add explicitly ignore *.mod.c files.

    Signed-off-by: Prarit Bhargava
    Cc: Andrew Morton
    Cc: Kirill Tkhai
    Cc: Michael Opdenacker
    Cc: Rusty Russell
    Signed-off-by: Michal Marek

    Prarit Bhargava
     

03 Feb, 2014

1 commit


31 Jan, 2014

2 commits

  • Pull __TIME__/__DATE__ removal from Michal Marek:
    "This series by Josh finishes the removal of __DATE__ and __TIME__ from
    the kernel. The last patch adds -Werror=date-time to KBUILD_CFLAGS to
    stop these from reappearing.

    Part of the series went through Greg's trees during this merge window,
    which is why this pull request is not based on v3.13-rc1"

    * 'drop-time' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    Makefile: Build with -Werror=date-time if the compiler supports it
    x86: math-emu: Drop already-disabled print of build date
    net: wireless: brcm80211: Drop debug version with build date/time
    mtd: denali: Drop print of build date/time

    Linus Torvalds
     
  • Pull kbuild changes from Michal Marek:
    - fix make -s detection with make-4.0
    - fix for scripts/setlocalversion when the kernel repository is a
    submodule
    - do not hardcode ';' in macros that expand to assembler code, as some
    architectures' assemblers use a different character for newline
    - Fix passing --gdwarf-2 to the assembler

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    frv: Remove redundant debugging info flag
    mn10300: Remove redundant debugging info flag
    kbuild: Fix debugging info generation for .S files
    arch: use ASM_NL instead of ';' for assembler new line character in the macro
    kbuild: Fix silent builds with make-4
    Fix detectition of kernel git repository in setlocalversion script [take #2]

    Linus Torvalds
     

28 Jan, 2014

2 commits

  • GCC 4.9 and newer have a new warning -Wdate-time, which warns on any use
    of __DATE__, __TIME__, or __TIMESTAMP__, which would make the build
    non-deterministic. Now that the kernel does not use any of those
    macros, turn on -Werror=date-time if available, to keep it that way.

    The kernel already (optionally) records this information at build time
    in a single place; other kernel code should not duplicate that.

    Signed-off-by: Josh Triplett
    Signed-off-by: Michal Marek

    Josh Triplett
     
  • Change the debuging info generation flag in KBUILD_AFLAGS from '-gdwarf-2' to
    '-Wa,--gdwarf-2'. This will properly generate the debugging info for .S files
    when CONFIG_DEBUG_INFO=y.

    It seems current gcc does not pass a '--gdwarf-2' option on to the assembler
    when '-gdwarf-2' is on its command line (note the differece in the gcc and as
    flags). This change provides the correct assembler flag to gcc, and so does
    not rely on gcc to emit a flag for the assembler.

    Signed-off-by: Geoff Levand for Huawei, Linaro
    Signed-off-by: Michal Marek

    Geoff Levand
     

21 Jan, 2014

1 commit

  • …ux/kernel/git/tip/tip

    Pull strong stackprotector support from Ingo Molnar:
    "This tree adds a CONFIG_CC_STACKPROTECTOR_STRONG=y, a new, stronger
    stack canary checking method supported by the newest GCC versions (4.9
    and later).

    Here's the 'intensity comparison' between the various protection
    modes:

    - defconfig
    11430641 kernel text size
    36110 function bodies

    - defconfig + CONFIG_CC_STACKPROTECTOR_REGULAR
    11468490 kernel text size (+0.33%)
    1015 of 36110 functions are stack-protected (2.81%)

    - defconfig + CONFIG_CC_STACKPROTECTOR_STRONG via this patch
    11692790 kernel text size (+2.24%)
    7401 of 36110 functions are stack-protected (20.5%)

    the strong model comes with non-trivial costs, which is why we
    preserved the 'regular' and 'none' models as well"

    * 'core-stackprotector-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    stackprotector: Introduce CONFIG_CC_STACKPROTECTOR_STRONG
    stackprotector: Unify the HAVE_CC_STACKPROTECTOR logic between architectures

    Linus Torvalds
     

20 Jan, 2014

1 commit


12 Jan, 2014

1 commit


06 Jan, 2014

1 commit

  • make-4 changed the way/order it presents the command line options
    into MAKEFLAGS

    In make-3.8x, '-s' would always be first into a group of options
    with the '-'/hyphen removed

    $ make -p -s 2>/dev/null | grep ^MAKEFLAGS
    MAKEFLAGS = sp

    In make-4, '-s' seems to always be last into a group of options
    with the '-'/hyphen removed

    $ make -s -p 2>/dev/null | grep ^MAKEFLAGS
    MAKEFLAGS = ps

    Signed-off-by: Emil Medve
    Signed-off-by: Michal Marek

    Emil Medve
     

05 Jan, 2014

1 commit