18 Oct, 2007

1 commit

  • otherwise get the two copy file list in SRCARCH

    for cscope:
    C symbol: start_kernel

    File Function Line
    0 proto.h 11 extern void start_kernel(void );
    1 start_kernel.h 10 extern asmlinkage void __init start_kernel(void );
    2 head32.c i386_start_kernel 37 start_kernel();
    3 head32.c i386_start_kernel 37 start_kernel();
    4 head64.c x86_64_start_kernel 85 start_kernel();
    5 head64.c x86_64_start_kernel 85 start_kernel();
    6 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel
    7 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel
    8 enlighten.c xen_start_kernel 1145 start_kernel();
    9 enlighten.c xen_start_kernel 1145 start_kernel();
    a lguest.c lguest_init 1095 start_kernel();
    b main.c start_kernel 513 asmlinkage void __init start_kernel(void )

    after the patch:
    C symbol: start_kernel

    File Function Line
    0 proto.h 11 extern void start_kernel(void );
    1 start_kernel.h 10 extern asmlinkage void __init start_kernel(void );
    2 head32.c i386_start_kernel 37 start_kernel();
    3 head64.c x86_64_start_kernel 85 start_kernel();
    4 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel
    5 enlighten.c xen_start_kernel 1145 start_kernel();
    6 lguest.c lguest_init 1095 start_kernel();
    7 main.c start_kernel 513 asmlinkage void __init start_kernel(void )

    Signed-off-by: Yinghai Lu
    Signed-off-by: Thomas Gleixner

    Yinghai Lu
     

16 Oct, 2007

3 commits

  • The variable CPPFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.

    This patch replace use of CPPFLAGS with KBUILD_CPPFLAGS all over the
    tree and enabling one to use:
    make CPPFLAGS=...
    to specify additional CPP commandline options.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • The previous patches was preparation.
    With this patch we can now say:
    make CFLAGS=-Os vmlinux

    And the option specified will be appended to the
    options passed to gcc for C files.

    For assembler use:
    make AFLAGS=-foo vmlinux
    for the same functionality.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • The variable AFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.
    On top of that several people over time has asked for a way to
    pass in additional flags to gcc.

    This patch replace use of AFLAGS with KBUILD_AFLAGS all over
    the tree.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

15 Oct, 2007

1 commit

  • The variable CFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.
    On top of that several people over time has asked for a way to
    pass in additional flags to gcc.

    This patch replace use of CFLAGS with KBUILD_CFLAGS all over the
    tree and enabling one to use:
    make CFLAGS=...
    to specify additional gcc commandline options.

    One usecase is when trying to find gcc bugs but other
    use cases has been requested too.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k

    Test was simple to do a defconfig build, apply the patch and check
    that nothing got rebuild.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

13 Oct, 2007

5 commits

  • The main feature is that export_report now automatically works
    for O= builds.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Sam Ravnborg

    Adrian Bunk
     
  • Change the invocations of make in the output directory Makefile and the
    main Makefile for separate object trees to pass all goals to one $(MAKE)
    via a new phony target "sub-make" and the existing target _all.

    When compiling with separate object directories, a separate make is called
    in the context of another directory (from the output directory the main
    Makefile is called, the Makefile is then restarted with current directory
    set to the object tree). Before this patch, when multiple make command
    goals are specified, each target results in a separate make invocation.
    With make -j, these invocations may run in parallel, resulting in multiple
    commands running in the same directory clobbering each others results.

    I did not try to address make -j for mixed dot-config and no-dot-config
    targets. Because the order does matter, a solution was not obvious.
    Perhaps a simple check for MAKEFLAGS having -j and refusing to run would
    be appropriate.

    Signed-off-by: Milton Miller
    Signed-off-by: Sam Ravnborg

    Milton Miller
     
  • The assembler for a while now supports -gdwarf to generate source line info
    just like the C compiler does. Source-level assembly debugging sounds like an
    oxymoron, but it is handy to be able to see the right source file and read its
    comments rather than just the disassembly. This patch enables -gdwarf for
    assembly files when CONFIG_DEBUG_INFO=y and the assembler supports the option.

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

    Roland McGrath
     
  • Jan Engelhardt reported:
    You can cause a recursion in kbuild/make with the following:

    make O=$PWD kernel/time.o
    make mrproper

    Of course no one would use O=$PWD (that's just the testcase),
    but this happened too often:

    /ws/linux/linux-2.6.23$ make O=/ws/linux/linux-2.6.23 kernel/time.o
    (Oops - should have been O=/ws/linux/obj-2.6.23!)

    Fixed by an explicit test for this case - we error
    out if output directory and source directory are the same.

    Tested-by: Jan Engelhardt
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • At the moment, running `make clean` in an external module directory does a
    nice job of cleaning up with one exception: it leaves behind Modules.symvers.
    Attached patch adds this file to the clean list for external modules.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Sam Ravnborg

    Mike Frysinger
     

11 Oct, 2007

4 commits


10 Oct, 2007

1 commit


02 Oct, 2007

1 commit


25 Sep, 2007

1 commit


20 Sep, 2007

1 commit


11 Sep, 2007

1 commit


01 Sep, 2007

1 commit


28 Aug, 2007

1 commit


13 Aug, 2007

1 commit


04 Aug, 2007

1 commit


26 Jul, 2007

1 commit

  • Sam Ravnborg pointed out that Documentation/kbuild/makefiles.txt already
    says this is what it's for. This patch makes the reality live up to the
    documentation. This fixes the problem of LDFLAGS_BUILD_ID getting into too
    many places.

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

    Roland McGrath
     

23 Jul, 2007

1 commit


20 Jul, 2007

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (33 commits)
    xtensa: use DATA_DATA in xtensa
    powerpc: add missing DATA_DATA to powerpc
    cris: use DATA_DATA in cris
    kallsyms: remove usage of memmem and _GNU_SOURCE from scripts/kallsyms.c
    kbuild: use -fno-optimize-sibling-calls unconditionally
    kconfig: reset generated values only if Kconfig and .config agree.
    kbuild: fix the warning when running make tags
    kconfig: strip 'CONFIG_' automatically in kernel configuration search
    kbuild: use POSIX BRE in headers install target
    Whitelist references from __dbe_table to .init
    modpost white list pattern adjustment
    kbuild: do section mismatch check on full vmlinux
    kbuild: whitelist references from variables named _timer to .init.text
    kbuild: remove hardcoded _logo names from modpost
    kbuild: remove hardcoded apic_es7000 from modpost
    kbuild: warn about references from .init.text to .exit.text
    kbuild: consolidate section checks
    kbuild: refactor code in modpost to improve maintainability
    kbuild: ignore section mismatch warnings originating from .note section
    kbuild: .paravirtprobe section is obsolete, so modpost doesn't need to handle it
    ...

    Linus Torvalds
     
  • This change passes the --build-id when linking the kernel and when linking
    modules, if ld supports it. This is a new GNU ld option that synthesizes an
    ELF note section inside the read-only data. The note in this section contains
    unique identifying bits called the "build ID", which are generated so as to be
    different for any two linked ELF files that aren't identical. The build ID
    can be recovered from stripped files, memory dumps, etc. and used to look up
    the original program built, locate debuginfo or other details or history
    associated with it. For normal program linking, the compiler passes
    --build-id to ld by default, but the option is needed when using ld directly
    as we do.

    Signed-off-by: Roland McGrath
    Cc: Andi Kleen
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     

17 Jul, 2007

4 commits

  • We don't have to check for -fno-optimize-sibling-calls since even
    gcc 3.2 supports it.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Sam Ravnborg

    Adrian Bunk
     
  • make tags was giving the below warning.

    ctags: Warning: arch/x86_64/kernel/head.S:124: null expansion of name
    pattern "\1"

    Fix the same by making sure we taken only ENTRY pattern found at the
    begining of the line.

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Aneesh Kumar K.V
     
  • Previously we did do the check on the .o files used to link
    vmlinux but that failed to find questionable references across
    the .o files.
    Create a dedicated vmlinux.o file used only for section mismatch checks
    that uses the defualt linker script so section does not get renamed.

    The vmlinux.o may later be used as part of the the final link of vmlinux
    but for now it is used fo section mismatch only.
    For a defconfig build this is instant but for an allyesconfig this
    add two minutes to a full build (that anyways takes ~2 hours).

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Add -Werror-implicit-function-declaration
    This makes builds fail sooner if something is implicitly defined instead
    of having to wait half an hour for it to fail at the linking stage.

    Signed-off-by: Dave Jones
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     

09 Jul, 2007

1 commit

  • Woo-hoo. I'm sure somebody will report a "this doesn't compile, and
    I have a new root exploit" five minutes after release, but it still
    feels good ;)

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

02 Jul, 2007

1 commit


25 Jun, 2007

1 commit


17 Jun, 2007

1 commit


05 Jun, 2007

1 commit


26 May, 2007

1 commit


19 May, 2007

1 commit


18 May, 2007

1 commit

  • This reverts commit c8fdd247255a3a027cd9f66dcf93e6847d1d2f85.

    It turns out the kernel was correct, and the gcc complaint was a gcc
    bug. The preferred stack boundary is expressed not in bytes, but in the
    the log2() of the preferred boundary, so "-mpreferred-stack-boundary=2"
    is in fact exactly what we want, but a gcc that is compiled for x86-64
    will consider it an error (because the 64-bit calling sequence says that
    the stack should be 16-byte aligned) even if we are then using "-m32" to
    generate 32-bit code.

    Noted-by: Mikulas Patocka
    Cc: Jan Hubicka
    Acked-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

13 May, 2007

1 commit