08 Jan, 2009

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
    kbuild: fix typos (s/bin_shipped/bin.o_shipped/) in Documentation
    kbuild: add a symlink to the source for separate objdirs
    kconfig: add script to manipulate .config files on the command line
    kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope
    bootchart: improve output based on Dave Jones' feedback
    fix modules_install via NFS
    qnx: include for definitions of __[us]{8,16,32,64} types

    Linus Torvalds
     
  • I have some scripts which need to map back to the source directory
    from an objdir. This was so far done by parsing the Makefile,
    but the Makefile format changes occasionally and breaks my scripts
    then.

    To make this more reliable add a "source" symlink back.

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

    Andi Kleen
     

06 Jan, 2009

1 commit


03 Jan, 2009

1 commit


29 Dec, 2008

2 commits

  • Conflicts:
    arch/sparc64/kernel/idprom.c

    David S. Miller
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)
    allow stripping of generated symbols under CONFIG_KALLSYMS_ALL
    kbuild: strip generated symbols from *.ko
    kbuild: simplify use of genksyms
    kernel-doc: check for extra kernel-doc notations
    kbuild: add headerdep used to detect inclusion cycles in header files
    kbuild: fix string equality testing in tags.sh
    kbuild: fix make tags/cscope
    kbuild: fix make incompatibility
    kbuild: remove TAR_IGNORE
    setlocalversion: add git-svn support
    setlocalversion: print correct subversion revision
    scripts: improve the decodecode script
    scripts/package: allow custom options to rpm
    genksyms: allow to ignore symbol checksum changes
    genksyms: track symbol checksum changes
    tags and cscope support really belongs in a shell script
    kconfig: fix options to check-lxdialog.sh
    kbuild: gen_init_cpio expands shell variables in file names
    remove bashisms from scripts/extract-ikconfig
    kbuild: teach mkmakfile to be silent
    ...

    Linus Torvalds
     

25 Dec, 2008

1 commit


20 Dec, 2008

2 commits

  • Building upon parts of the module stripping patch, this patch
    introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y.
    Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of
    CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64)
    kernels I tested with.

    The patch also does away with the need to special case the kallsyms-
    internal symbols by making them available even in the first linking
    stage.

    While it is a generated file, the patch includes the changes to
    scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure
    here is.

    Signed-off-by: Jan Beulich
    Signed-off-by: Sam Ravnborg

    Jan Beulich
     
  • This patch changes the way __crc_ symbols are being resolved from
    using ld to do so to using the assembler, thus allowing these symbols
    to be marked local (the linker creates then as global ones) and hence
    allow stripping (for modules) or ignoring (for vmlinux) them. While at
    this, also strip other generated symbols during module installation.

    One potentially debatable point is the handling of the flags passeed
    to gcc when translating the intermediate assembly file into an object:
    passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to
    gas whenever is sees any -g* option, even for -g0, and despite the
    fact that the compiler would have already produced all necessary debug
    info in the C->assembly translation phase. I took the approach of just
    filtering out all -g* options, but an alternative to such negative
    filtering might be to have a positive filter which might, in the ideal
    case allow just all the -Wa,* options to pass through.

    Signed-off-by: Jan Beulich
    Signed-off-by: Sam Ravnborg

    Jan Beulich
     

19 Dec, 2008

2 commits


14 Dec, 2008

1 commit

  • "Paul Smith" reported that we would fail
    to build with a new check that may be enabled in an
    upcoming version of make.

    The error was:

    Makefile:442: *** mixed implicit and normal rules. Stop.

    The problem is that we did stuff like this:

    config %config: ...

    The solution was simple - the above was split into two with identical
    prerequisites and commands.
    With only three lines it was not worth to try to avoid the duplication.

    Cc: "Paul Smith"
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

11 Dec, 2008

1 commit


05 Dec, 2008

1 commit

  • To unify Makefile for sparc and sparc64 a few other steps was needed:
    1) separate defconfig files for sparc and sparc64 is required,
    so locate these in arch/sparc/configs
    2) removoval of hack in toplevel Makefile to deal with that
    headers was in a separate directory compared to the rest

    The unification of the Makefile required usage of several

    foo-$(CONFIG_SPARCnn) +=

    due to a few directories pending unification.
    This will be cleaned up when we unify the remaining directories.

    Included in this patch are the deletion of a few files in
    sparc64 as they are no longer needed: Makefile + Kconfig.
    arch/sparc64/ will after this patch is applied only
    have four directories (prom, lib, kernel, boot)

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

04 Dec, 2008

3 commits

  • as they do not benefit from the make functionality.

    Moving the support to a shell script has several benefits:
    - The readability of the code has increased a lot
    - More people is able to extend the tags support
    - We see less changes to the top-level Makefile

    The shell script version includes improvements from:
    Alexey Dobriyan (jump to kconfig symbols)
    Alexey Dobriyan (drop ./ in paths)
    Ian Campbell (simplified find algorithms)

    This version has a few caveats:
    => It does not support ALLSOURCE_ARCHS
    - it is easy to add if it is really used
    => It assumes all archs have moved to arch/$ARCH/include
    - until that happens we have a few additional hits in the archs

    Signed-off-by: Sam Ravnborg
    Cc: Alexey Dobriyan
    Tested-by: Ian Campbell

    Sam Ravnborg
     
  • Convert a few echos in the build system to new $(kecho) so we get correct
    output according to build verbosity.

    Signed-off-by: Mike Frysinger
    [sam: added kecho in a few more places for O=... builds]
    Signed-off-by: Sam Ravnborg

    Mike Frysinger
     
  • kbuild failed to expand include flags in KBUILD_CPPFLAGS
    resulting in code like this in arch Makefiles:

    ifeq ($(KBUILD_SRC),)
    KBUILD_CPPFLAGS += -Iinclude/foo
    else
    KBUILD_CPPFLAGS += -I$(srctree)/include/foo
    endif

    Move use of LINUXINCLUDE into Makefile.lib to allow
    us to expand -I directives of KBUILD_CPPFLAGS so
    we can avoid the above code.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

02 Dec, 2008

1 commit


21 Nov, 2008

1 commit


16 Nov, 2008

1 commit


10 Nov, 2008

1 commit


03 Nov, 2008

1 commit


30 Oct, 2008

2 commits

  • Architectures which have moved their includes to arch//include
    now list the headers twice in the source listing used by "make
    cscope" and friends, causing those tools to list symbols twice.

    Skipping these files in the ALLSOURCE_ARCHS pass rather than removing
    the ALLINCLUDE_ARCHS pass preserves the semantics of the later.

    Signed-off-by: Ian Campbell
    Signed-off-by: Sam Ravnborg

    Ian Campbell
     
  • o if include/asm point to a nonexisting directory remove the asm symlink
    o if include/asm is a directory error out

    This fixes a situation where one could be left with a symlink
    to asm-x86 but that directory no longer exist and thus the build
    would error out.

    include/asm may be a directory if the kernel tree has been copied

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

27 Oct, 2008

2 commits


24 Oct, 2008

1 commit


23 Oct, 2008

1 commit

  • Teach scripts/kconfig/Makefile and top-level Makefile that arch/*/Makefile
    is allowed to say Kconfig := .
    Rewrite arch/um/Kconfig and arch/um/Kconfig. so that the latter
    would be top-level one (and include the pieces of the former).

    Signed-off-by: Al Viro
    Signed-off-by: H. Peter Anvin

    Al Viro
     

21 Oct, 2008

1 commit

  • Due to confusion between the ftrace infrastructure and the gcc profiling
    tracer "ftrace", this patch renames the config options from FTRACE to
    FUNCTION_TRACER. The other two names that are offspring from FTRACE
    DYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.

    This patch was generated mostly by script, and partially by hand.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Ingo Molnar

    Steven Rostedt
     

10 Oct, 2008

1 commit


07 Oct, 2008

1 commit


30 Sep, 2008

1 commit


22 Sep, 2008

1 commit


10 Sep, 2008

1 commit


29 Aug, 2008

1 commit


21 Aug, 2008

1 commit


13 Aug, 2008

2 commits

  • Linus Torvalds
     
  • Currently source files in the Documentation/ sub-dir can easily bit-rot
    since they are not generally buildable, either because they are hidden in
    text files or because there are no Makefile rules for them. This needs to
    be fixed so that the source files remain usable and good examples of code
    instead of bad examples.

    Add the ability to build source files that are in the Documentation/ dir.
    Add to Kconfig as "BUILD_DOCSRC" config symbol.

    Use "CONFIG_BUILD_DOCSRC=1 make ..." to build objects from the
    Documentation/ sources. Or enable BUILD_DOCSRC in the *config system.
    However, this symbol depends on HEADERS_CHECK since the header files need
    to be installed (for userspace builds).

    Built (using cross-tools) for x86-64, i386, alpha, ia64, sparc32,
    sparc64, powerpc, sh, m68k, & mips.

    Signed-off-by: Randy Dunlap
    Reviewed-by: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

07 Aug, 2008

2 commits

  • It's a problem about cscope target of kernel Makefile, and the cscope
    plugin of emacs:
    1. `make cscope` will generate cscope.files cscope.{in,po,}.out;
    2. the cscope plugin expect a cscope.out.{in,po,};
    3. the default `cscope -b` would generate cscope.{in,po,}.out;

    There are three approach to solve it:
    1. modify the cscope C code;
    2. modify the cscope emacs plugin lisp code;
    3. modify the Makefile;

    I have tried to communicate with the cscope upstream, but later I
    realize the third approach is most meaningful.

    Signed-off-by: Sam Ravnborg

    Denis ChengRq
     
  • With a make O=... build kbuild would only create
    the include2/asm symlink for archs that not yet
    had moved headers to include/$ARCH/include

    There is no longer any reason to avoid the symlink
    for archs that has moved their headers so create it
    unconditionally.

    This fixes arm because kbuild checked for include/asm-$ARCH/errno.h
    and that file was not present for arm but the platform files
    are not yet moved.

    Signed-off-by: Sam Ravnborg
    Cc: Russell King

    Sam Ravnborg