14 Jul, 2014

1 commit


11 Jul, 2014

1 commit


07 Jul, 2014

1 commit


05 Jul, 2014

1 commit

  • All other users of Makefile.build set $(obj) to the name of the
    subdirectory to build. Do the same for the packaging targets, otherwise
    the build fails if $(srctree) is a relative directory:

    $ make O=build tar-pkg
    make[1]: Entering directory `/home/mmarek/linux-2.6/build'
    CHK include/config/kernel.release
    ../scripts/Makefile.build:44: ../../scripts/package/Makefile: No such file or directory
    make[2]: *** No rule to make target `../../scripts/package/Makefile'. Stop.

    Fixes: 9da0763b ("kbuild: Use relative path when building in a subdir of the source tree")
    Signed-off-by: Michal Marek

    Michal Marek
     

04 Jul, 2014

2 commits


03 Jul, 2014

1 commit

  • With commit 9da0763b (kbuild: Use relative path when building in a
    subdir of the source tree), the compiler messages include relative
    paths. These are however relative to the build directory, not the
    directory where make was started. Print the "Entering directory ..."
    message once, so that IDEs/editors can find the source files.

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

    Michal Marek
     

30 Jun, 2014

1 commit


22 Jun, 2014

1 commit


16 Jun, 2014

1 commit


13 Jun, 2014

1 commit

  • Pull kbuild updates from Michal Marek:
    "Kbuild changes for v3.16-rc1:

    - cross-compilation fix so that cc-option is testing the right
    compiler
    - Fix for make defconfig all
    - Using relative paths to the object and source directory where
    possible, plus fixes for the fallout of the change
    - several cleanups in the Makefiles and scripts

    The powerpc fix is from today, because it was only discovered
    recently. The rest has been in linux-next for some time"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    powerpc: Avoid circular dependency with zImage.%
    kbuild: create include/config directory in scripts/kconfig/Makefile
    kbuild: do not create include/linux directory
    Makefile: Fix unrecognized cross-compiler command line options
    kbuild: do not add "selinux" to subdir- twice
    um: Fix for relative objtree when generating x86 headers
    kbuild: Use relative path when building in a subdir of the source tree
    kbuild: Use relative path when building in the source tree
    kbuild: Use relative path for $(objtree)
    firmware: Use $(quote) in the Makefile
    firmware: Simplify directory creation
    kbuild: trivial - fix comment block indent
    kbuild: trivial - remove trailing spaces
    kbuild: support simultaneous "make %config" and "make all"
    kbuild: move extra gcc checks to scripts/Makefile.extrawarn

    Linus Torvalds
     

10 Jun, 2014

3 commits

  • The directory include/config is used only for
    silentoldconfig, localmodconfig, localyesconfig.

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

    Masahiro Yamada
     
  • There are no generated files under include/linux directory.

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

    Masahiro Yamada
     
  • On architectures that setup CROSS_COMPILE in their arch/*/Makefile
    (arc, blackfin, m68k, mips, parisc, score, sh, tile, unicore32, xtensa),
    cc-option and cc-disable-warning may check against the wrong compiler,
    causing errors like

    cc1: error: unrecognized command line option "-Wno-maybe-uninitialized"

    if the host gcc supports a compiler option, while the cross compiler
    doesn't support that option.

    Move all logic using cc-option or cc-disable-warning below the inclusion
    of the arch's Makefile to fix this.

    Introduced by
    - commit e74fc973b6e531fef1fce8b101ffff05ecfb774c ("Turn off
    -Wmaybe-uninitialized when building with -Os"),
    - commit 61163efae02040f66a95c8ed17f4407951ba58fa ("kbuild: LLVMLinux:
    Add Kbuild support for building kernel with Clang").

    As -Wno-maybe-uninitialized requires a quite recent gcc (gcc 4.6.3 on
    Ubuntu 12.04 LTS doesn't support it), this only showed up recently (gcc
    4.8.2 on Ubuntu 14.04 LTS does support it).

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Michal Marek

    Geert Uytterhoeven
     

09 Jun, 2014

2 commits

  • Pull LLVM patches from Behan Webster:
    "Next set of patches to support compiling the kernel with clang.
    They've been soaking in linux-next since the last merge window.

    More still in the works for the next merge window..."

    * tag 'llvmlinux-for-v3.16' of git://git.linuxfoundation.org/llvmlinux/kernel:
    arm, unwind, LLVMLinux: Enable clang to be used for unwinding the stack
    ARM: LLVMLinux: Change "extern inline" to "static inline" in glue-cache.h
    all: LLVMLinux: Change DWARF flag to support gcc and clang
    net: netfilter: LLVMLinux: vlais-netfilter
    crypto: LLVMLinux: aligned-attribute.patch

    Linus Torvalds
     
  • Linus Torvalds
     

08 Jun, 2014

1 commit


02 Jun, 2014

1 commit


26 May, 2014

1 commit


22 May, 2014

1 commit


15 May, 2014

3 commits

  • When doing make O=, use '..' to refer to the source tree. This
    allows for more readable compiler messages, and, more importantly, it
    sets the VPATH to '..', so filenames in WARN_ON() etc. will be shorter.

    Acked-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Michal Marek
     
  • When not using O=, $(srctree) refers to the same directory as
    $(objtree), so we can set it to '.' as well. This makes the default
    include path more compact and results in more readable messages from the
    compiler. The only case where we need the absolute path is when creating
    the 'source' symlink in /lib/modules.

    Acked-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Michal Marek
     
  • The main Makefile sets its working directory to the object tree and
    never changes it again. Therefore, we can use '.' instead of the
    absolute path. The only case where we need the absolute path is when
    creating the 'build' symlink in /lib/modules.

    Acked-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Michal Marek
     

10 May, 2014

1 commit


05 May, 2014

1 commit


30 Apr, 2014

3 commits

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

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

    Masahiro Yamada
     
  • Kbuild is supposed to support mixed targets. (%config and build targets)

    But "make all" did nothing if it was run with configuration targets.
    For example,

    $ LANG=C make defconfig all
    HOSTCC scripts/basic/fixdep
    HOSTCC scripts/kconfig/conf.o
    SHIPPED scripts/kconfig/zconf.tab.c
    SHIPPED scripts/kconfig/zconf.lex.c
    SHIPPED scripts/kconfig/zconf.hash.c
    HOSTCC scripts/kconfig/zconf.tab.o
    HOSTLD scripts/kconfig/conf
    *** Default configuration is based on 'x86_64_defconfig'
    #
    # configuration written to .config
    #
    make: Nothing to be done for `all'.

    This commits allows "make %config all" and makes sure
    mixed targets are built one by one in the given order.

    Signed-off-by: Masahiro Yamada
    Cc: Michal Marek
    CC: Sam Ravnborg
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

28 Apr, 2014

1 commit


21 Apr, 2014

1 commit


17 Apr, 2014

1 commit

  • W=... provides extra gcc checks.

    Having such code in scripts/Makefile.build results in the same flags
    being added to KBUILD_CFLAGS multiple times becuase
    scripts/Makefile.build is invoked every time Kbuild descends into
    the subdirectories.

    Since the top Makefile is already too cluttered, this commit moves
    all of extra gcc check stuff to a new file scripts/Makefile.extrawarn,
    which is included from the top Makefile.

    Signed-off-by: Masahiro Yamada
    CC: Sam Ravnborg
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

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

1 commit