30 May, 2011

1 commit

  • .. except there are various scripts that really know that there are
    three numbers, so it calls itself "3.0.0-rc1".

    Hopefully by the time the final 3.0 is out, we'll have that extra zero
    all figured out.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

26 May, 2011

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (26 commits)
    arch/tile: prefer "tilepro" as the name of the 32-bit architecture
    compat: include aio_abi.h for aio_context_t
    arch/tile: cleanups for tilegx compat mode
    arch/tile: allocate PCI IRQs later in boot
    arch/tile: support signal "exception-trace" hook
    arch/tile: use better definitions of xchg() and cmpxchg()
    include/linux/compat.h: coding-style fixes
    tile: add an RTC driver for the Tilera hypervisor
    arch/tile: finish enabling support for TILE-Gx 64-bit chip
    compat: fixes to allow working with tile arch
    arch/tile: update defconfig file to something more useful
    tile: do_hardwall_trap: do not play with task->sighand
    tile: replace mm->cpu_vm_mask with mm_cpumask()
    tile,mn10300: add device parameter to dma_cache_sync()
    audit: support the "standard"
    arch/tile: clarify flush_buffer()/finv_buffer() function names
    arch/tile: kernel-related cleanups from removing static page size
    arch/tile: various header improvements for building drivers
    arch/tile: disable GX prefetcher during cache flush
    arch/tile: tolerate disabling CONFIG_BLK_DEV_INITRD
    ...

    Linus Torvalds
     
  • With this change, you can (and should) build with ARCH=tilepro for the
    current 32-bit chips. Building with ARCH=tile continues to work, but
    we've renamed the defconfig file to tilepro_defconfig for consistency.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    export_report: use warn() to issue WARNING, so they go to stderr
    export_report: sort SECTION 2 output
    export_report: do collectcfiles work in perl itself
    kbuild: make versioncheck work in KBUILD_OUTDIR
    kbuild: make includecheck work in KBUILD_OUTDIR
    kbuild: make headerdep work in KBUILD_OUTDIR
    kbuild: add targets to PHONY
    kbuild: don't warn about include/linux/version.h not including itself
    eradicate bashisms in scripts/patch-kernel

    Linus Torvalds
     

25 May, 2011

1 commit

  • * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    kbuild: make KBUILD_NOCMDDEP=1 handle empty built-in.o
    scripts/kallsyms.c: fix potential segfault
    scripts/gen_initramfs_list.sh: Convert to a /bin/sh script
    kbuild: Fix GNU make v3.80 compatibility
    kbuild: Fix passing -Wno-* options to gcc 4.4+
    kbuild: move scripts/basic/docproc.c to scripts/docproc.c
    kbuild: Fix Makefile.asm-generic for um
    kbuild: Allow to combine multiple W= levels
    kbuild: Disable -Wunused-but-set-variable for gcc 4.6.0
    Fix handling of backlash character in LINUX_COMPILE_BY name
    kbuild: asm-generic support
    kbuild: implement several W= levels
    kbuild: Fix build with binutils <= 2.19
    initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
    kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
    kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros
    kbuild: Use the deterministic mode of ar
    kbuild: Call gzip with -n
    kbuild: move KALLSYMS_EXTRA_PASS from Kconfig to Makefile
    Kconfig: improve KALLSYMS_ALL documentation

    Fix up trivial conflict in Makefile

    Linus Torvalds
     

20 May, 2011

1 commit

  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (107 commits)
    perf stat: Add more cache-miss percentage printouts
    perf stat: Add -d -d and -d -d -d options to show more CPU events
    ftrace/kbuild: Add recordmcount files to force full build
    ftrace: Add self-tests for multiple function trace users
    ftrace: Modify ftrace_set_filter/notrace to take ops
    ftrace: Allow dynamically allocated function tracers
    ftrace: Implement separate user function filtering
    ftrace: Free hash with call_rcu_sched()
    ftrace: Have global_ops store the functions that are to be traced
    ftrace: Add ops parameter to ftrace_startup/shutdown functions
    ftrace: Add enabled_functions file
    ftrace: Use counters to enable functions to trace
    ftrace: Separate hash allocation and assignment
    ftrace: Create a global_ops to hold the filter and notrace hashes
    ftrace: Use hash instead for FTRACE_FL_FILTER
    ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions
    perf bench, x86: Add alternatives-asm.h wrapper
    x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit
    x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB
    x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB
    ...

    Linus Torvalds
     

19 May, 2011

1 commit


17 May, 2011

1 commit

  • When mcount is called in a section that ftrace will not modify it into
    a nop, we want to warn about this. But not warn about this always. Now
    if the user builds the kernel with the option RECORDMCOUNT_WARN=1 then
    the build will warn about mcount callers that are ignored and will just
    waste execution time.

    Acked-by: Michal Marek
    Cc: linux-kbuild@vger.kernel.org
    Link: http://lkml.kernel.org/r/20110421023738.714956282@goodmis.org
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

13 May, 2011

1 commit

  • This support was partially present in the existing code (look for
    "__tilegx__" ifdefs) but with this change you can build a working
    kernel using the TILE-Gx toolchain and ARCH=tilegx.

    Most of these files are new, generally adding a foo_64.c file
    where previously there was just a foo_32.c file.

    The ARCH=tilegx directive redirects to arch/tile, not arch/tilegx,
    using the existing SRCARCH mechanism in the top-level Makefile.

    Changes to existing files:

    - and changed to factor the
    include of in the common header.

    - and arch/tile/kernel/compat.c changed to remove
    the "const" markers I had put on compat_sys_execve() when trying
    to match some recent similar changes to the non-compat execve.
    It turns out the compat version wasn't "upgraded" to use const.

    - and were
    previously included accidentally, with the 32-bit contents. Now
    they have the proper 64-bit contents.

    Finally, I had to hack the existing hacky drivers/input/input-compat.h
    to add yet another "#ifdef" for INPUT_COMPAT_TEST (same as x86_64).

    Signed-off-by: Chris Metcalf
    Acked-by: Dmitry Torokhov [drivers/input]

    Chris Metcalf
     

12 May, 2011

4 commits


11 May, 2011

1 commit

  • According to Documentation/Changes, the kernel should be buildable with
    GNU make 3.80+. Commit 88d7be031f9f975bb3f50a0b5ef3796a671e7edf (kbuild:
    Use a single clean rule for kernel and external modules) introduced the
    "$(or" construct, which requires make 3.81. This causes "make clean" to
    malfunction when it is used with external modules.

    Replace "$(or" with an equivalent "$(if" expression, to restore backward
    compatibility.

    Signed-off-by: Kevin Cernekee
    Cc: stable@kernel.org
    Signed-off-by: Michal Marek

    Kevin Cernekee
     

10 May, 2011

1 commit


04 May, 2011

1 commit


03 May, 2011

2 commits

  • Starting with 4.4, gcc will happily accept -Wno- in the
    cc-option test and complain later when compiling a file that has some
    other warning. This rather unexpected behavior is intentional as per
    http://gcc.gnu.org/PR28322, so work around it by testing for support of
    the opposite option (without the no-). Introduce a new Makefile function
    cc-disable-warning that does this and update two uses of cc-option in
    the toplevel Makefile.

    Reported-and-tested-by: Stephen Rothwell
    Signed-off-by: Michal Marek

    Michal Marek
     
  • Move docproc from scripts/basic to scripts so it is only built for *doc
    targets instead of every time the kernel is built.

    Peter Foley
     

02 May, 2011

1 commit


29 Apr, 2011

2 commits

  • Disable the new -Wunused-but-set-variable that was added in gcc 4.6.0
    It produces more false positives than useful warnings.

    This can still be enabled using W=1

    Signed-off-by: Dave Jones
    Acked-by: Sam Ravnborg
    Tested-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Dave Jones
     
  • There is an increasing amount of header files
    shared between individual architectures in asm-generic.
    To avoid a lot of dummy wrapper files that just
    include the corresponding file in asm-generic provide
    some basic support in kbuild for this.

    With the following patch an architecture can maintain
    a list of files in the file arch/$(ARCH)/include/asm/Kbuild

    To use a generic file just add:

    generic-y +=

    For each file listed kbuild will generate the necessary
    wrapper in arch/$(ARCH)/include/generated/asm.

    When installing userspace headers a wrapper is likewise created.

    The original inspiration for this came from the unicore32
    patchset - although a different method is used.

    The patch includes several improvements from Arnd Bergmann.
    Michael Marek contributed Makefile.asm-generic.

    Remis Baima did an intial implementation along to achive
    the same - see https://patchwork.kernel.org/patch/13352/

    Signed-off-by: Sam Ravnborg
    Acked-by: Guan Xuetao
    Tested-by: Guan Xuetao
    Acked-by: Arnd Bergmann
    Cc: Remis Lima Baima
    Signed-off-by: Michal Marek

    Sam Ravnborg
     

28 Apr, 2011

1 commit

  • Building a kernel with "make W=1" produces far too much noise to be
    useful.

    Divide the warning options in three groups:

    W=1 - warnings that may be relevant and does not occur too often
    W=2 - warnings that occur quite often but may still be relevant
    W=3 - the more obscure warnings, can most likely be ignored

    When building the whole kernel, those levels produce:

    W=1 - 4859 warnings
    W=2 - 1394 warnings
    W=3 - 86666 warnings

    respectively. Warnings have been counted with Geert's script at

    http://www.kernel.org/pub/linux/kernel/people/geert/linux-log/linux-log-summary.pl

    Many warnings occur from .h files so fixing one file may have a nice
    effect on the total number of warnings.

    With these changes I am actually tempted to try W=1 now and then.
    Previously there was just too much noise.

    Borislav:

    - make the W= levels exclusive
    - move very noisy and making little sense for the kernel warnings to W=3
    - drop -Woverlength-strings due to useless warning message
    - copy explanatory text for the different warning levels to 'make help'
    - recount warnings per level

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Borislav Petkov
    Cc: Dave Jones
    Cc: Geert Uytterhoeven
    Signed-off-by: Michal Marek

    Sam Ravnborg
     

27 Apr, 2011

1 commit


20 Apr, 2011

1 commit


19 Apr, 2011

1 commit


15 Apr, 2011

1 commit

  • At the moment we have the CONFIG_KALLSYMS_EXTRA_PASS Kconfig switch,
    which users can enable or disable while configuring the kernel. This
    option is then used by 'make' to determine whether an extra kallsyms
    pass is needed or not.

    However, this approach is not nice and confusing, and this patch moves
    CONFIG_KALLSYMS_EXTRA_PASS from Kconfig to Makefile instead. The
    rationale is below.

    1. CONFIG_KALLSYMS_EXTRA_PASS is really about the build time, not
    run-time. There is no real need for it to be in Kconfig. It is
    just an additional work-around which should be used only in rare
    cases, when someone breaks kallsyms, so Kbuild/Makefile is much
    better place for this option.
    2. Grepping CONFIG_KALLSYMS_EXTRA_PASS shows that many defconfigs have
    it enabled, probably not because they try to work-around a kallsyms
    bug, but just because the Kconfig help text is confusing and does
    not really make it clear that this option should not be used unless
    except when kallsyms is broken.
    3. And since many people have CONFIG_KALLSYMS_EXTRA_PASS enabled in
    their Kconfig, we do might fail to notice kallsyms bugs in time. E.g.,
    many testers use "make allyesconfig" to test builds, which will enable
    CONFIG_KALLSYMS_EXTRA_PASS and kallsyms breakage will not be noticed.

    To address that, this patch:

    1. Kills CONFIG_KALLSYMS_EXTRA_PASS
    2. Changes Makefile so that people can use "make KALLSYMS_EXTRA_PASS=1"
    to enable the extra pass if needed. Additionally, they may define
    KALLSYMS_EXTRA_PASS as an environment variable.
    3. By default KALLSYMS_EXTRA_PASS is disabled and if kallsyms has issues,
    "make" should print a warning and suggest using KALLSYMS_EXTRA_PASS

    Signed-off-by: Artem Bityutskiy
    [mmarek: Removed make help text, is not necessary]
    Signed-off-by: Michal Marek

    Artem Bityutskiy
     

12 Apr, 2011

1 commit


06 Apr, 2011

1 commit


30 Mar, 2011

1 commit


22 Mar, 2011

1 commit

  • * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default
    genksyms: Regenerate lexer and parser
    genksyms: Track changes to enum constants
    genksyms: simplify usage of find_symbol()
    genksyms: Add helpers for building string lists
    genksyms: Simplify printing of symbol types
    genksyms: Simplify lexer
    genksyms: Do not paste the bison header file to lex.c
    modpost: fix trailing comma
    KBuild: silence "'scripts/unifdef' is up to date."
    kbuild: Add extra gcc checks
    kbuild: reenable section mismatch analysis
    unifdef: update to upstream version 2.5

    Linus Torvalds
     

21 Mar, 2011

1 commit


19 Mar, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)
    doc: CONFIG_UNEVICTABLE_LRU doesn't exist anymore
    Update cpuset info & webiste for cgroups
    dcdbas: force SMI to happen when expected
    arch/arm/Kconfig: remove one to many l's in the word.
    asm-generic/user.h: Fix spelling in comment
    drm: fix printk typo 'sracth'
    Remove one to many n's in a word
    Documentation/filesystems/romfs.txt: fixing link to genromfs
    drivers:scsi Change printk typo initate -> initiate
    serial, pch uart: Remove duplicate inclusion of linux/pci.h header
    fs/eventpoll.c: fix spelling
    mm: Fix out-of-date comments which refers non-existent functions
    drm: Fix printk typo 'failled'
    coh901318.c: Change initate to initiate.
    mbox-db5500.c Change initate to initiate.
    edac: correct i82975x error-info reported
    edac: correct i82975x mci initialisation
    edac: correct commented info
    fs: update comments to point correct document
    target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c
    ...

    Trivial conflict in fs/eventpoll.c (spelling vs addition)

    Linus Torvalds
     

17 Mar, 2011

1 commit

  • While changing our build system over to use the headers_install target
    as part of our klibc build, the following message started showing up in
    our logs:

    make[2]: `scripts/unifdef' is up to date.

    It turns out that the build blindly invokes a recursive make on this
    target, which causes make to emit this message when the target is
    already up to date. This isn't seen for most targets as the rest of the
    build relies primarily on the default target and on PHONY targets when
    invoking make recursively.

    Silence the above message when building unifdef as part of
    headers_install by hiding it behind a new PHONY target called
    "build_unifdef" that has an empty recipe.

    Signed-off-by: Mike Waychison
    Acked-by: WANG Cong
    Signed-off-by: Michal Marek

    Mike Waychison
     

15 Mar, 2011

1 commit


09 Mar, 2011

1 commit

  • Add a 'W=1' Makefile switch which adds additional checking per build
    object.

    The idea behind this option is targeted at developers who, in the
    process of writing their code, want to do the occasional

    make W=1 [target.o]

    and let gcc do more extensive code checking for them. Then, they
    could eyeball the output for valid gcc warnings about various
    bugs/discrepancies which are not reported during the normal build
    process.

    For more background information and a use case, read through this
    thread: http://marc.info/?l=kernel-janitors&m=129802065918147&w=2

    Cc: Michal Marek
    Cc: linux-kbuild@vger.kernel.org
    Acked-by: Sam Ravnborg
    Acked-by: Ingo Molnar
    Signed-off-by: Borislav Petkov
    Signed-off-by: Michal Marek

    Borislav Petkov
     

08 Mar, 2011

1 commit


02 Mar, 2011

1 commit


22 Feb, 2011

1 commit


17 Feb, 2011

1 commit


16 Feb, 2011

1 commit