13 Jan, 2010

2 commits

  • Setting LC_CTYPE=C breaks localized messages in some setups. With only
    LC_COLLATE=C and LC_NUMERIC=C, we get almost all we need, except for not
    so defined character classes and tolower()/toupper(). The former is not
    a big issue, because we can assume that e.g. [:alpha:] will always
    include a-zA-Z and we only ever process ASCII input. The latter seems
    only affect arch/sh/tools/gen-mach-types, which we can handle separately.

    So after this patch the meaning of ranges like [a-z], the behavior of
    sort and join, etc. should be the same everywhere and at the same time
    gcc should be able to print localized waring and error messages.
    LC_NUMERIC=C might not be necessary, but setting it doesn't hurt.

    Reported-by: Simon Horman
    Reported-by: Sergei Trofimovich
    Acked-by: H. Peter Anvin
    Tested-by: Simon Horman
    Tested-by: Masami Hiramatsu
    Signed-off-by: Michal Marek

    Michal Marek
     
  • Linus Torvalds
     

06 Jan, 2010

1 commit


25 Dec, 2009

1 commit


20 Dec, 2009

1 commit

  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system
    Makefile: Unexport LC_ALL instead of clearing it
    x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk
    x86: Reenable TSC sync check at boot, even with NONSTOP_TSC
    x86: Don't use POSIX character classes in gen-insn-attr-x86.awk
    Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C
    x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA
    x86: Fix checking of SRAT when node 0 ram is not from 0
    x86, cpuid: Add "volatile" to asm in native_cpuid()
    x86, msr: msrs_alloc/free for CONFIG_SMP=n
    x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space
    x86: Add IA32_TSC_AUX MSR and use it
    x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers
    initramfs: add missing decompressor error check
    bzip2: Add missing checks for malloc returning NULL
    bzip2/lzma/gzip: pre-boot malloc doesn't return NULL on failure

    Linus Torvalds
     

18 Dec, 2009

2 commits


17 Dec, 2009

1 commit

  • There are a number of common Unix constructs like character ranges in
    grep/sed/awk which don't work as expected with LC_COLLATE set to other
    than C. Similarly, set LC_CTYPE and LC_NUMERIC to C to avoid other
    nasty surprises.

    In order to make sure these actually take effect we also have to
    clear LC_ALL.

    Signed-off-by: H. Peter Anvin
    Acked-by: Michal Marek
    Acked-by: Masami Hiramatsu
    Acked-by: Roland Dreier
    Cc: Sam Ravnborg
    LKML-Reference:

    H. Peter Anvin
     

12 Dec, 2009

12 commits

  • Fix typo / thinko in commit bc081dd.

    Signed-off-by: Michal Marek

    Michal Marek
     
  • To make it easier for module-init-tools and scripts like mkinitrd to
    distinguish builtin and missing modules, install a modules.builtin file
    listing all builtin modules. This is done by generating an additional
    config file (tristate.conf) with tristate options set to uppercase 'Y'
    or 'M'. If we source that config file, the builtin modules appear in
    obj-Y.

    Signed-off-by: Michal Marek

    Michal Marek
     
  • The toplevel Makefile creates the directory if it runs silentoldconfig
    automatically, but if run manually, it fails:

    $ make mrproper
    $ make defconfig && make silentoldconfig
    *** Default configuration is based on 'x86_64_defconfig'
    #
    # configuration written to .config
    #
    scripts/kconfig/conf -s arch/x86/Kconfig

    *** Error during update of the kernel configuration.
    ...

    Move the mkdir command to the silentoldconfig target to make it work.

    Signed-off-by: Michal Marek

    Michal Marek
     
  • Drop Module.markers from cleaning list since marker
    is removed.

    Signed-off-by: Wenji Huang
    Signed-off-by: Michal Marek

    Wenji Huang
     
  • Fix up all users of utsrelease.h

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

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

    Sam Ravnborg
     
  • We no longer use this directory for generated files and
    all architectures has moved their header files so no
    symlink tricks are needed either.

    Drop the symlink and drop the ARCH check.

    If we really need to check that the SRCARCH has not changed
    when we build a kernel we can add this check back - but then we will
    find a more convenient way to store the info.

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

    Sam Ravnborg
     
  • No architectures uses include/asm-$ARCH now.
    So drop check for location of include files

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

    Sam Ravnborg
     
  • There is no longer any use of the include2/ directory.
    The generated files has moved to include/generated.

    Drop all references to said directory.

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

    Sam Ravnborg
     
  • The simplest method was to add an extra asm-offsets.h
    file in arch/$ARCH/include/asm that references the generated file.

    We can now migrate the architectures one-by-one to reference
    the generated file direct - and when done we can delete the
    temporary arch/$ARCH/include/asm/asm-offsets.h file.

    Signed-off-by: Sam Ravnborg
    Cc: Al Viro
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • Signed-off-by: Sam Ravnborg
    Cc: Al Viro
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • The namespace used in arch/$ARCH/include is different from
    what is used in include/ except for the include/asm directory.

    This patch gives the arch/$ARCH/include/asm directory priority
    over include/asm.

    When we add asm-offsets.h to arch/$ARCH/include/asm/ this
    patch makes sure we pick up the arch specific version
    and not the one we have in include/asm.

    The situation with an asm-offsets.h file located in
    both include/asm _and_ arch/$ARCH/include/asm will happen
    when we move more files over to include/generated.

    This happens because in some cases it is not practical
    to rename all users so we simply add a file
    in arch/$ARCH/include/asm that includes the generated version.

    This is the solution we use for asm-offsets.h as an example.

    Signed-off-by: Sam Ravnborg
    Cc: Stephen Rothwell
    Signed-off-by: Michal Marek

    Sam Ravnborg
     

06 Dec, 2009

1 commit

  • …el/git/tip/linux-2.6-tip

    * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)
    tracing: Separate raw syscall from syscall tracer
    ring-buffer-benchmark: Add parameters to set produce/consumer priorities
    tracing, function tracer: Clean up strstrip() usage
    ring-buffer benchmark: Run producer/consumer threads at nice +19
    tracing: Remove the stale include/trace/power.h
    tracing: Only print objcopy version warning once from recordmcount
    tracing: Prevent build warning: 'ftrace_graph_buf' defined but not used
    ring-buffer: Move access to commit_page up into function used
    tracing: do not disable interrupts for trace_clock_local
    ring-buffer: Add multiple iterations between benchmark timestamps
    kprobes: Sanitize struct kretprobe_instance allocations
    tracing: Fix to use __always_unused attribute
    compiler: Introduce __always_unused
    tracing: Exit with error if a weak function is used in recordmcount.pl
    tracing: Move conditional into update_funcs() in recordmcount.pl
    tracing: Add regex for weak functions in recordmcount.pl
    tracing: Move mcount section search to front of loop in recordmcount.pl
    tracing: Fix objcopy revision check in recordmcount.pl
    tracing: Check absolute path of input file in recordmcount.pl
    tracing: Correct the check for number of arguments in recordmcount.pl
    ...

    Linus Torvalds
     

03 Dec, 2009

1 commit


20 Nov, 2009

1 commit


18 Nov, 2009

2 commits

  • …ux/kernel/git/josh/linux-misc

    * 'hostprogs-wmissing-prototypes' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux-misc:
    Makefile: Add -Wmising-prototypes to HOSTCFLAGS
    oss: Mark loadhex static in hex2hex.c
    dtc: Mark various internal functions static
    dtc: Set "noinput" in the lexer to avoid an unused function
    drm: radeon: Mark several functions static in mkregtable
    arch/sparc/boot/*.c: Mark various internal functions static
    arch/powerpc/boot/addRamDisk.c: Mark several internal functions static
    arch/alpha/boot/tools/objstrip.c: Mark "usage" static
    Documentation/vm/page-types.c: Declare checked_open static
    genksyms: Mark is_reserved_word static
    kconfig: Mark various internal functions static
    kconfig: Make zconf.y work with current bison

    Linus Torvalds
     
  • If the user has an older version of objcopy, that can not handle
    converting local symbols to global and vice versa, then some
    functions will not be part of the dynamic function tracer. The current
    code in recordmcount.pl will print a warning in this case. Unfortunately,
    there exists lots of files that may have this issue with older objcopys
    and this will cause a warning for every file compiled with this
    issue.

    This patch solves this overwhelming output by creating a
    .tmp_quiet_recordmcount file on the first instance the warning is
    encountered. The warning will not print if this file exists.

    The temp file is deleted at the beginning of the compile to ensure that
    the warning will happen once again on new compiles (because the issue
    is still present).

    Reported-by: Andrew Morton
    Cc: Sam Ravnborg
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

16 Nov, 2009

1 commit

  • Now that all host programs use static for all private functions and
    forward prototypes for all extern functions, add -Wmissing-prototypes to
    HOSTCFLAGS in the hopes of keeping it that way.

    All versions of GCC supported by the kernel handle -Wmissing-prototypes.

    Signed-off-by: Josh Triplett

    Josh Triplett
     

13 Nov, 2009

1 commit


04 Nov, 2009

1 commit


16 Oct, 2009

1 commit


14 Oct, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
    kbuild: revert "save ARCH & CROSS_COMPILE ..."
    warn about use of uninstalled kernel headers
    kbuild: mkcompile_h: trivial cleanups
    kbuild: fix warning when domainname is not available
    kbuild: Fix size_append issue for bzip2/lzma kernel
    kbuild,scripts: use non-builtin echo for '-e'
    kbuild: fix the binrpm-pkg target to work with KBUILD_OUTPUT set

    Linus Torvalds
     

12 Oct, 2009

2 commits

  • Linus Torvalds
     
  • Revert commit 575543347b5baed0ca927cb90ba8807396fe9cc9

    It caused following issues:

    - On architectures where ARCH= setting is used to select between
    32 and 64 bit this was no longer possible without "make mrproper"
    - If ARCH was changed then kbuild refused to run "make mrproper"
    because ARCH had changed
    - When CROSS_COMPILE was changed people were asked to run "make mrproper"
    but kbuild refused to run "make mrproper" because CROSS_COMPILE changed.
    - Spaces in CROSS_COMPILE was not 'supported'
    - If an non-existing ARCH= was used kbuild could get stuck

    Lessons learned:
    . Despite being simple and straghtforward people uses very different
    approaches when building the kernel.

    . CROSS_COMPILE is sometimes used for ccache despite cache being
    only a CC frontend so one would have expected CC to be
    used for this purpose.

    . And obviously this was not tested widely enough.

    Signed-off-by: Sam Ravnborg
    Cc: Pavel Machek
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Andrew Morton

    Sam Ravnborg
     

05 Oct, 2009

1 commit

  • I'm skipping -rc2 because the -rc1 Makefile mistakenly said -rc2, so in
    order to avoid confusion, I'm jumping from -rc1 to -rc3. That way, when
    'uname' (or an oops report) says 2.6.32-rc2, there's no confusion about
    whether people perhaps meant -rc1 or -rc2.

    Linus Torvalds
     

28 Sep, 2009

1 commit


20 Sep, 2009

6 commits

  • Albin Tonnerre reported:

    Bash 4 filters out variables which contain a dot in them.
    This happends to be the case of CPPFLAGS_vmlinux.lds.
    This is rather unfortunate, as it now causes
    build failures when using SHELL=/bin/bash to compile,
    or when bash happens to be used by make (eg when it's /bin/sh)

    Remove the common definition of CPPFLAGS_vmlinux.lds by
    pushing relevant stuff to either Makefile.build or the
    arch specific kernel/Makefile where we build the linker script.

    This is also nice cleanup as we move the information out where
    it is used.

    Notes for the different architectures touched:

    arm - we use an already exported symbol
    cris - we use a config symbol aleady available
    [Not build tested]
    mips - the jiffies complexity has moved to vmlinux.lds.S where we need it.
    Added a few variables to CPPFLAGS - they are only used by
    the linker script.
    [Not build tested]
    powerpc - removed assignment that is not needed
    [not build tested]
    sparc - simplified it using $(BITS)
    um - introduced a few new exported variables to deal with this
    xtensa - added options to CPP invocation
    [not build tested]

    Cc: Albin Tonnerre
    Cc: Russell King
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Chris Zankel
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • The upcomming gcc 4.5 has a new -fconserve-stack option that tells the
    inliner to take stack frame size in account. Set it if the compiler
    supports it.

    Signed-off-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Andi Kleen
     
  • The new alternative `gold' linker in recent binutils doesn't support
    the -X option. This breaks allyesconfig builds that have
    CONFIG_STRIP_ASM_SYMS enabled. Check if the linker really supports
    the option using ld-option.

    Signed-off-by: Andi Kleen
    Signed-off-by: Sam Ravnborg

    Andi Kleen
     
  • ld-option is misnamed as it test options to gcc, not to ld.
    Renamed it to reflect this.

    Cc: Andi Kleen
    Cc: Roland McGrath
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • When building a kernel for a different architecture
    kbuild requires the user always to specify ARCH and
    CROSS_COMPILE on the command-line.

    We use the asm symlink to detect if user forgets to
    specify the correct ARCH value - but that symlink
    is about to die. And we do now want to loose this check.

    This patch save the settings of ARCH and CROSS_COMPILE
    in two files named:

    include/generated/kernel.arch
    include/generated/kernel.cross

    The settings are saved during "make *config" time
    and always read.

    If user try to change the settings we error out.

    This works both for plain builds and for O=...
    builds.

    So now you can do:
    $ mkdir sparc64
    $ make O=sparc64 ARCH=sparc64 CROSS_COMPILE=sparc64-linux- defconfig
    $ cd sparc64
    $ make

    Notice that you no longer need to tell kbuild
    the settings of ARCH and CROSS_COMPILE when you type make
    in the output directory.

    Likewise for plain builds where you do not use O=...

    Signed-off-by: Sam Ravnborg
    Cc: Roland McGrath

    Sam Ravnborg
     
  • Replace the use of CROSS_COMPILE to select a customized
    installkernel script with the possibility to set INSTALLKERNEL
    to select a custom installkernel script when running make:

    make INSTALLKERNEL=arm-installkernel install

    With this patch we are now more consistent across
    different architectures - they did not all support use
    of CROSS_COMPILE.

    The use of CROSS_COMPILE was a hack as this really belongs
    to gcc/binutils and the installkernel script does not change
    just because we change toolchain.

    The use of CROSS_COMPILE caused troubles with an upcoming patch
    that saves CROSS_COMPILE when a kernel is built - it would no
    longer be installable.
    [Thanks to Peter Z. for this hint]

    This patch undos what Ian did in commit:

    0f8e2d62fa04441cd12c08ce521e84e5bd3f8a46
    ("use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh")

    The patch has been lightly tested on x86 only - but all changes
    looks obvious.

    Acked-by: Peter Zijlstra
    Acked-by: Mike Frysinger [blackfin]
    Acked-by: Russell King [arm]
    Acked-by: Paul Mundt [sh]
    Acked-by: "H. Peter Anvin" [x86]
    Cc: Ian Campbell
    Cc: Tony Luck [ia64]
    Cc: Fenghua Yu [ia64]
    Cc: Hirokazu Takata [m32r]
    Cc: Geert Uytterhoeven [m68k]
    Cc: Kyle McMartin [parisc]
    Cc: Benjamin Herrenschmidt [powerpc]
    Cc: Martin Schwidefsky [s390]
    Cc: Thomas Gleixner [x86]
    Cc: Ingo Molnar [x86]
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg